Method of controlling user information and information processing apparatus

ABSTRACT

A method of controlling user information for an information processing apparatus includes the steps of a process of an application program requesting user information controlling unit to obtain an item of said user information, and said user information controlling unit providing the obtained item of said user information to said process. The user information controlling unit obtains the user information requested by the process of the application program and provides the user information to the process. Accordingly, the user information can be shared by the application programs and centrally controlled.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention generally relates to a method ofcontrolling user information and an information processing apparatus,and more particularly, to a method of controlling user information inwhich the user information is provided to a plurality of applicationprograms, and to the information processing apparatus using the same

[0003] 2. Description of the Related Art

[0004] An information processing apparatus such as a personal computerand an image forming apparatus can provide users with variousinformation processing functions by executing one or more softwareprograms corresponding to various functions. The information processingapparatus is often connected to other devices via a network and candistribute image data, for example, to the other devices. Theinformation processing apparatus stores therein user information such asdistribution addresses, user restrictions, and charges.

[0005] As an example of the information processing apparatus, an imageforming apparatus is a system that functions as a copier, a printer, afacsimile, and a scanner (hereinafter referred to as a multifunctionalapparatus). The multifunctional apparatus is provided with a displayunit, a printing unit, and an image capture unit in the system, and isfurther provided with software programs each corresponding to thefunction of a copier, a printer, a facsimile, or a scanner. A user canuse the multifunctional apparatus as a copier, a printer, a facsimile,or a scanner by switching the software programs.

[0006] The image forming apparatus is connected with other image formingapparatuses and computers via a network and distributes the image data,for example, to the other image forming apparatuses and computers. Theimage forming apparatus stores therein user information such asaddresses and user restriction/charges.

[0007] The distribution address information is used to manage addresseesand senders. The distribution address information is not so oftenupdated; it is relatively easily backed up. The number of entries isusually large because the addresses of users that do not directly usethe information processing apparatus or the image forming apparatus areincluded in the distribution address information.

[0008] On the other hand, the user restriction information and thecharge information are used to manage the authorization (userrestriction) of various functions and the usage (the number of printedpages, for example) of the authorized functions by respective users. Theuser restriction/charge information is updated frequently whenever theinformation processing apparatus is used; the creating of its backupcopy is not easy. Only users who directly use the information processingapparatus or the image forming apparatus are managed using the userrestriction/charge information. Therefore, the number of users isrelatively small.

[0009] As described above, the distribution address information and theuser restriction/charge information are different in the easiness ofbackup and the number of users to be managed thereby. Due to thisdifference, the information storage apparatuses suitable for therespective information sets are also different. The distribution addressinformation requires an information storage apparatus with a largecapacity even at the sacrifice of speed and reliability. The userrestriction/charge information, however, requires an information storageapparatus of high speed and high reliability at the sacrifice of costand capacity.

[0010] Conventionally, an information processing apparatus and an imageforming apparatus store the distribution address information in a harddisk drive, and store the user restriction/charge information in anon-volatile random access memory (RAM).

[0011] The conventional information processing apparatus is providedwith one or more application software programs corresponding to each ofvarious information processing functions. Each application program,however, manages the distribution address information separately. Theconventional image forming apparatus is provided with applicationprograms corresponding to user services of intrinsic image formingprocessing such as printing, copying, scanning, and transmittingfacsimile. Each application program, however, manages the distributionaddress information separately.

[0012] The separate management of user information thus requireshardware resources otherwise unnecessary, and increases the risk of bugsin the application programs.

[0013] Additionally, the distribution address information and the userrestriction/charge information need to be stored and controlled in ahard disk drive (HDD) or a non-volatile random access memory (RAM) sothat the application programs can access these information sets.

[0014] A system initialization module and so forth updates thedistribution address information. When registering, updating, andaccessing the distribution address information or the userrestriction/charge information, the system initialization module isrequired to determine in which, the HDD or the non-volatile RAM, thedistribution address information and the user restriction/chargeinformation are stored so that the system initialization module candesignate appropriate one.

[0015] Further, in the case of the conventional information processingapparatus and the image forming apparatus, a user is required todirectly operate an operation panel provided on the informationprocessing apparatus and the image forming apparatus to access or updatethe distribution address information and the user restriction/chargeinformation.

[0016] Accordingly, the user needs to go to the place where theinformation processing apparatus and the image forming apparatus areplaced in order to access and update the distribution addressinformation and the user restriction/charge information.

[0017] Additionally, since the size of the operation panels differs, theamount of information displayed on the operation panel changes apparatusby apparatus. The operation panel provided on an image forming apparatusis usually small. Accordingly, depending on the size of the operationpanel, the amount of information that can be displayed on the operationpanel is sometimes not large enough.

[0018] Furthermore, the user is required to follow a predeterminedformat and order of the information processing apparatus and the imageforming apparatus so as to access or update the distribution addressinformation and the user restriction/charge information.

[0019] The user needs to make a substantial effort to directly operatethe operation panel and so forth provided to the information processingapparatus and the image forming apparatus so as to access thedistribution address information and the user restriction/chargeinformation.

SUMMARY OF THE INVENTION

[0020] Accordingly, it is a general object of the present invention toprovide a novel and useful method of controlling user information, andmore particularly, to provide a method of controlling user informationin which the user information is centralized and shared by a pluralityof application programs.

[0021] Another object of the present invention is to provide a method ofcontrolling user information in which the user information can beupdated without designating where the user information is stored.

[0022] Yet another object of the present invention is to provide amethod of controlling the user information with which the user caneasily operate with little effort.

[0023] To achieve one of the above objects, a method of controlling userinformation for an information processing apparatus, according to thepresent invention, includes the steps of a process of an applicationprogram requesting a user information control unit to obtain an item ofsaid user information, and said user information control unit providingthe obtained item of said user information to said process.

[0024] The user information control unit obtains the user informationrequested by the process of the application program and provides theuser information to the process. Accordingly, the user information canbe shared by the application programs and centrally controlled.

[0025] According to another aspect of the present invention, aninformation processing apparatus includes a plurality of informationstorage units storing user information, and a user information controlunit that, in response to a request from a process of an applicationprogram, obtains said user information from said information storageunits and provides the obtained user information to said process of saidapplication program.

[0026] According to yet another aspect of the present invention, amethod of controlling user information for an information processingapparatus, includes the steps of a system initialization modulerequesting a user information control unit to update user information,and said user information control unit updating, in response to therequest from said system initialization module, said user information.

[0027] The user information control unit updates the user information incompliance with the request from the system initialization module.Accordingly, the system initialization module can update the userinformation without designating in which information storage unit theuser information is stored. The user information is centrallycontrolled.

[0028] According to yet another aspect of the present invention, aninformation processing apparatus includes a plurality of informationstorage units storing user information therein, and a user informationcontrol unit that updates, in response to a request from a systeminitialization module, said user information stored in said informationstorage unit.

[0029] According to yet another aspect of the present invention, amethod of controlling user information for an information processingapparatus includes the steps of a user information control unitreceiving a request in connection with user information from an externalcontrol apparatus connected to said information processing apparatus viaa network, and said user information control unit processing saidrequest using predefined functions.

[0030] The user information can be controlled using the external controlapparatus connected to the information processing apparatus via thenetwork. Accordingly, the operator can control the user informationwatching a large screen provided to the external control apparatusinstead of a small operation panel provided to the informationprocessing apparatus. The user can handle the user information flexiblyand easily. The operator does not need to go to the place where theinformation processing apparatus is placed. Additionally, the userinformation can be shared with another information processing apparatus.

[0031] According to yet another aspect of the present invention, aninformation processing apparatus includes a plurality of informationstorage units storing user information therein, and a user informationcontrol unit that receives a request in connection with said userinformation stored in the information storage units from an externalcontrol apparatus through a network and handles said user informationusing a predefined function corresponding to said request.

[0032] According to yet another aspect of the present invention, acomputer program that causes a computer to control user informationincludes the steps of requesting an information processing apparatusconnected via a network to transmit said user information using apredetermined protocol for exchanging messages expressed in adescription language, receiving said user information from saidinformation processing apparatus in compliance with said protocol,displaying a screen based on the received user information, andrequesting, in response to a request to update said user informationinput by a user, said information processing apparatus to update saiduser information using said protocol.

[0033] The computer program can cause a computer to function as theexternal control apparatus that can remote control the user informationstored in the information processing apparatus.

[0034] Other objects, features, and advantages of the present inventionwill become more apparent from the following detailed description whenread in conjunction with the accompanying drawing.

BRIEF DESCRIPTION OF THE DRAWINGS

[0035]FIG. 1 is a schematic diagram showing an information processingapparatus according to an embodiment of the present invention;

[0036]FIG. 2 is a schematic diagram showing the hardware structure ofthe information processing apparatus according to an embodiment of thepresent invention;

[0037]FIG. 3 is a schematic diagram showing a multifunctional apparatusaccording to an embodiment of the present invention;

[0038]FIG. 4 is a schematic diagram showing the hardware structure ofthe multifunctional apparatus according to an embodiment of the presentinvention;

[0039]FIG. 5 is a schematic diagram for explaining a method ofcontrolling user information according to an embodiment of the presentinvention;

[0040]FIG. 6 is a table showing user restriction/charge informationaccording to an embodiment of the present invention;

[0041]FIG. 7 is a table showing distribution address informationaccording to an embodiment of the present invention;

[0042]FIG. 8 is a schematic diagram for explaining an accessingoperation to user information according to an embodiment:

[0043]FIG. 9 is a flow chart showing an accessing operation todistribution address information according to an embodiment;

[0044]FIG. 10 is a schematic diagram showing a tag set and tagsaccording to an embodiment;

[0045]FIG. 11 is a schematic diagram showing tag entries according to anembodiment;

[0046]FIG. 12 is a schematic diagram showing an entry selection screenaccording to an embodiment;

[0047]FIG. 13 is a flow chart showing the obtaining operation in stepS110 of FIG. 9 according to an embodiment;

[0048]FIG. 14 shows an example of API for obtaining configurationinformation according to an embodiment;

[0049]FIG. 15 is a schematic diagram showing the data structure ofconfiguration information according to an embodiment;

[0050]FIG. 16 is a flow chart showing the registering operation in stepS111 of FIG. 9 according to an embodiment;

[0051]FIG. 17 shows an example of an API for registering functions to beused according to an embodiment;

[0052]FIG. 18 is a flow chart showing the obtaining operation of tag setinformation and tag information in step S112 of FIG. 9 according to anembodiment;

[0053]FIG. 19 shows an example of an API for obtaining a tag setaccording to an embodiment;

[0054]FIG. 20 is a schematic diagram showing the tag set data structureaccording to an embodiment;

[0055]FIG. 21 shows an example of an API for obtaining tag informationaccording to an embodiment;

[0056]FIG. 22 is a schematic diagram showing the data structure of taginformation according to an embodiment;

[0057]FIG. 23 is a flow chart showing an obtaining operation of tagentries in step S113 of FIG. 9 according to an embodiment;

[0058]FIG. 24 shows an example of an API for obtaining tag entriesaccording to an embodiment;

[0059]FIG. 25 is a schematic diagram showing the data structure of tagentries according to an embodiment;

[0060]FIG. 26 is a flow chart showing an inputting operation of an entryindex number according to an embodiment;

[0061]FIG. 27 shows an example of an API for obtaining entry controlnumbers based on entry index numbers according to an embodiment;

[0062]FIG. 28 shows an example of an API for obtaining tags to which atag entry is attached based on an entry control number according to anembodiment;

[0063]FIG. 29 shows an example of an API for obtaining entry positionaccording to an embodiment;

[0064]FIG. 30 shows an example of an API for obtaining mail informationaccording to an embodiment;

[0065]FIG. 31 shows an example of an API for obtaining senderauthentication information according to an embodiment;

[0066]FIG. 32 shows an example of an API for obtaining user restrictioninformation according to an embodiment;

[0067]FIG. 33 shows an example of an API for obtaining e-mail groupinformation according to an embodiment;

[0068]FIG. 34 shows an example of an API for searching entries accordingto an embodiment;

[0069]FIG. 35 is a schematic diagram for explaining the operation of ascreen creating module according to an embodiment;

[0070]FIG. 36 is a schematic diagram for explaining an updatingoperation of the user information according to an embodiment;

[0071]FIG. 37 is a flow chart showing an updating operation ofdistribution address information according to an embodiment;

[0072]FIG. 38 is a schematic diagram showing a system initializationmenu screen according to an embodiment;

[0073]FIG. 39 is a schematic diagram showing an entry information updatescreen according to an embodiment;

[0074]FIG. 40 is a schematic diagram showing an entry informationregistration screen according to an embodiment;

[0075]FIG. 41 shows an example of an API for adding a new entryaccording to an embodiment;

[0076] -FIG. 42 shows an example of an API for setting a tag to which anentry is attached according to an embodiment;

[0077]FIG. 43 shows an example of an API for setting a usercodeaccording to an embodiment;

[0078]FIG. 44 shows an example of an API for setting a mail addressaccording to an embodiment;

[0079]FIG. 45 shows an example of an API for checking and obtaining anindex number according to an embodiment;

[0080]FIG. 46 shows an example of an API for obtaining groups to whichan entry is included according to an embodiment;

[0081]FIG. 47 shows an example of an API for updating an entry accordingto an embodiment;

[0082]FIG. 48 shows an example of an API for deleting an entry accordingto an embodiment;

[0083]FIG. 49 shows an example of an API for updating a tag according toan embodiment;

[0084]FIG. 50 shows an example of an API for moving the position of atag entry according to an embodiment;

[0085]FIG. 51 shows an example of an API for setting senderauthentication information according to an embodiment;

[0086]FIG. 52 shows an example of an API for setting a mail groupaccording to an embodiment,

[0087]FIG. 53 shows an example of an API for obtaining the number ofregistered entries according to an embodiment;

[0088]FIG. 54 is an example of an API for obtaining the number ofregistered accounts according to an embodiment;

[0089]FIG. 55 is an example of an API for obtaining the number ofregistered groups according to an embodiment;

[0090]FIG. 56 is an example of an API for obtaining the number ofregistered mail addresses according to an embodiment;

[0091]FIG. 57 is an example of an API for obtaining the number ofregistered usercodes according to an embodiment;

[0092]FIG. 58 is a schematic diagram for explaining a method ofcontrolling the user information according to an embodiment of thepresent invention;

[0093]FIG. 59 is a schematic diagram for explaining the remote controlof the user information according to an embodiment;

[0094] FIGS. 60A-60C show an example of a web service description incompliance with WSDL according to an embodiment;

[0095]FIG. 61 is a flow chart showing an accessing operation of the userinformation using the remote control according to an embodiment;

[0096]FIG. 62 shows input/output parameters used in a web service forobtaining configuration information according to an embodiment;

[0097]FIG. 63 shows the data structure of the configuration informationaccording to an embodiment;

[0098]FIG. 64 shows input/output parameters used in a web service forauthenticating a user or an administrator FIG. 65 shows input/outputparameters used in a web service for obtaining a generation number;

[0099]FIG. 66 shows input/output parameters used in a web service forobtaining a tag set;

[0100]FIG. 67 shows the data structure of a tag set according to anembodiment;

[0101]FIG. 68 shows input/output parameters used in a web service forobtaining a tag according to an embodiment;

[0102]FIG. 69 shows the data structure of tag information according toan embodiment;

[0103]FIG. 70 shows input/output parameters used in a web service forobtaining tag entries according to an embodiment;

[0104]FIG. 71 shows an example of filter according to an embodiment;

[0105]FIG. 72 shows the data structure of an entry according to anembodiment;

[0106]FIG. 73 shows input/output parameters used in a web service forobtaining account information according to an embodiment;

[0107]FIG. 74 shows the data structure of an account according to anembodiment;

[0108]FIG. 75 shows the data structure of mail address informationaccording to an embodiment; FIG. 76 shows the data structure offacsimile number information according to an embodiment;

[0109]FIG. 77 shows the data structure of usercode information accordingto an embodiment;

[0110]FIG. 78 shows input/output parameters used in a web service forobtaining group information according to an embodiment;

[0111]FIG. 79 shows the data structure of group information according toan embodiment;

[0112]FIG. 80 shows the data structure of mail group informationaccording to an embodiment;

[0113]FIG. 81 shows the data structure of facsimile group informationaccording to an embodiment;

[0114]FIG. 82 shows input/output parameters used in a web service fordisplacing tags in a tag set according to an embodiment;

[0115]FIG. 83 shows input/output parameters used in a web service fordisplacing entries in a tag according to an embodiment;

[0116]FIG. 84 shows input/output parameters used in a web service fordeleting entries having a designated Id number according to anembodiment;

[0117]FIG. 85 shows input/output parameters used in a web service foradding a new account according to an embodiment;

[0118]FIG. 86 shows input/output parameters used in a web service forupdating account information according to an embodiment;

[0119]FIG. 87 shows input/output parameters used in a web service foradding a new group according to an embodiment;

[0120]FIG. 88 shows input/output parameters used in a web service forupdating group information according to an embodiment;

[0121]FIG. 89 is a flow chart showing a restoring operation of the userinformation using the remote control according to an embodiment;

[0122]FIG. 90 shows input/output parameters used in a web service forprocessing before restoring according to an embodiment;

[0123]FIG. 91 shows input/output parameters used in a web service forprocessing after restoring according to an embodiment; and

[0124]FIG. 92 is a schematic diagram showing a screen according to anembodiment.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0125] The preferred embodiments of the present invention will bedescribed in detail by reference to the drawings.

[0126]FIG. 1 is a schematic diagram showing an information processingapparatus according to an embodiment of the present invention. Theinformation processing apparatus 1000 includes hardware resources 1100and software programs 1200.

[0127] The hardware resources 1100 include a memory unit 1110, an inputunit 1120, a display unit 1130, and other hardware resources 1140. Thesoftware programs include application programs 1210-1 through 1210-n, OS1230 such as UNIX (trade mark), BIOS 1240, device drivers 1250, a userinformation control unit 1260, a communication control unit 1270, and soforth.

[0128] When the power is turned on, the information processing apparatus1000 reads OS 1230 from a secondary storage unit to the memory unit1110, and executes the OS 1230. When the power is turned on or aninstruction is given from an operator, the information processingapparatus 1000 reads an application program 1210-1 through 1210-n fromthe secondary storage unit to the memory unit 1110, and executes theread application program 1210-1 through 1210-n.

[0129] The application programs 1210-1 through 1210-n cause theinformation processing apparatus 1000 to perform various informationprocessing operations. BIOS 1240 is a computer program that controls thehardware resources 1100. The device drivers 1250 are computer programsthat drive peripheral devices included in the hardware resources 1100.

[0130] OS 1230, the user information control unit 1260, and thecommunication control unit 1270 communicate with the applicationprograms 1210-1 through 1210-n via application program interface (API)1220. API 1220 includes predefined functions through which theapplication 1210-1 through 1210-n can give instructions to OS 1230 andthe user information control unit 1260.

[0131] The user information control unit 1260 controls the userinformation. The communication control unit 1270 controls thecommunication with external control apparatuses (to be described later)connected with the information processing apparatus 1000 through anetwork.

[0132] The user information control unit 1260 determines the informationstorage apparatus in which the user information required by theapplication program 1210-1 through 1210-n is stored and provides theuser information stored in the determined information storage apparatusto the application program 1210-1 through 1210-n.

[0133] OS 1230 controls processes created by the execution of theapplication programs 1210-1 through 1210-n, the user information controlunit 1260, and the communication control unit 1270 in parallel. OS 1230gives instructions to the hardware resources 1100 through BIOS 1240 andthe device drivers 1250.

[0134] The hardware configuration of the information processingapparatus 1000 will be described below. FIG. 2 is a schematic diagramshowing the hardware configuration of the information processingapparatus 1000 according to an embodiment. The information processingapparatus 1000 is configured by an input unit 1510, a display unit 1520,a secondary storage unit 1530, a memory unit 1540, a processing unit1550, and a communication unit 1560 all of which are mutually connectedvia a bus B.

[0135] The input unit 1510 includes input devices such as a keyboard anda mouse. An operator can give the information processing apparatus 1000various instructions by operating the input unit 1510. The display unit1520 displays various windows and data for the operator. The secondarystorage unit 1530 stores therein computer programs and various files anddata that are needed for the performance of the computer programs. Thecommunication unit 1560 communicates with an external control apparatusto be described later that is connected through a network.

[0136] The memory unit 1540 stores the computer programs retrieved fromthe secondary storage unit 1530 when the power of the informationprocessing apparatus is turned on. The processing unit 1550 executes thecomputer programs stored in the memory unit 1540.

[0137] When the information processing apparatus 1000 is turned on,computer programs read from the secondary storage apparatus 1530 arestored in the memory unit 1540. The processing unit 1550 runs thecomputer programs stored in the memory unit 1540.

[0138] The information processing apparatus 1000 is connected to othercomputers and distributes image information and so forth to the othercomputers. The information processing apparatus 1000 provided with sucha distribution function usually stores the distribution addressinformation and the user restriction/charge information as userinformation. The information processing apparatus 1000 that is notprovided with such a distribution function may store only the userrestriction/charge information.

[0139] As an example of the information processing apparatus 1000according to an embodiment of the present invention, an image formingapparatus 1 will be described below. The image forming apparatus isprovided with various functions such as those of a printer, a copier, afacsimile, and a scanner, and therefore is called a multifunctionalapparatus.

[0140]FIG. 3 is a schematic diagram showing a multifunctional apparatus1 according to an embodiment of the present invention. Themultifunctional apparatus 1 includes the following: a black & whitelaser printer 11, a color laser printer 12, other hardware resources 13,software resources 20, and a multifunctional apparatus startup unit 50.The software resources 20 further include application programs 30 and aplatform 40.

[0141] The platform 40 further includes the following: control services42, 44-49 that interpret processing requests from the applicationprograms 30 and control one or more hardware resources, a systemresource manager (SRM) 43 that controls one or more hardware resourcesand arbitrates the requests from the control services, and operatingsystem (OS) 41.

[0142] The control services include one or more service modules such asa system control service (SCS) 42, an engine control service (ECS) 44, amemory control service (MCS) 45, an operation panel control service(OCS) 46, a facsimile control service (FCS) 47, a network controlservice (NCS) 48, and a user control service 49.

[0143] The platform 40 has an application program interface (API) thatcan receive processing requests from the application programs 30 bypredefined functions.

[0144] The OS 41 is, for example, UNIX (trade mark). The OS 41 executesthe software programs of the platform 40 and the application programs 30as processes in parallel.

[0145] The process of SRM 43 controls the system and manages resourcestogether with SCS 42. For example, the process of SRM 43 arbitratesrequests from an upper rank layer, to use hardware resources such asengines, the memory unit, files stored in a hard disk drive (HDD), hostinput/output (I/O) (Centronics interface, network interface, IEEE 1394interface, RS232C interface, for example), and controls their execution.

[0146] In response to a request from the upper rank layer, SRM 43determines whether the requested hardware resource is in use and, ifnot, informs the upper rank layer that the requested hardware resourceis available for use. SRM 43 schedules the use of hardware resourcesbased on the requests from the upper rank layer. SRM 43 also directlycontrols the paper transportation and the image forming of the printerengine, memory reservation, and file generation.

[0147] The process of SCS 42 performs application administration,operational unit-control, system screen display, LED display, resourceadministration, interruption application control, and so forth.

[0148] The process of ECS 44 controls the engines of the black & whitelaser printer 11, the color laser printer 12, and the hardware resource13.

[0149] The process of MCS 45 reserves and discharges image memory,controls the hard disk drive (HDD), and compresses and decompresses theimage data.

[0150] The process of OCS 46 controls the operation panel that helps themultifunctional apparatus 1 to communicate with the operator.

[0151] The process of FCS 47, in response to a request from theapplication layer of the system controller, transmits and receivesfacsimile through PSTN or ISDN, for example, registers and retrievesvarious facsimile data stored in the backup SRAM (BKM), reads documents,prints received facsimile, and performs multifunctional communication.

[0152] The process of NCS 48 provides common services to applicationsthat require communication through a network. The process of NCS 48distributes data received from the network to corresponding applicationsprograms and intermediates the transmission of data from an applicationprogram to the network.

[0153] The process of UCS 49 controls the user information bydetermining the information storage apparatus storing the requested userinformation and providing the user information from the determinedinformation storage apparatus to the application programs.

[0154] The application programs 30 provides users with various userservices such as those of a printer, a copier, a facsimile, and ascanner. The application programs 30 includes the following: a printerapplication 31 that causes the multifunctional apparatus 1 to functionas a printer supporting page description languages (PDL, PCL) andpostscript (PS), for example, a copier application 32, a facsimileapplication 33, a scanner application 34, a network file application 35,and in-line inspection application 36.

[0155] The multifunctional apparatus startup unit 50 performes at firstwhen the multifunctional apparatus 1 is turned on and activates theapplication programs 30 and the platform 40. For example, themultifunctional apparatus startup unit 50 reads the control services andthe application programs from a flash memory (to be described later) andtransfers them to a memory region reserved in SRAM or SDRAM, forexample, for execution.

[0156]FIG. 4 is a schematic diagram showing the hardware configurationof a multifunctional apparatus according to an embodiment. Themultifunctional apparatus 1 of FIG. 4 is provided with the following: acontrol board 60, an operation panel 70, a facsimile control unit (FCU)80, a USB interface 90, an IEEE 1394 interface 100, and an engine unit110. FCU 80 includes another memory unit that temporarily storesfacsimile data received while the multifunctional apparatus 1 is turnedoff.

[0157] The operation panel 70 is directly connected to ASIC 66 of thecontrol board 60. FCU 80, USB interface 90, IEEE1394 interface 100, andthe engine unit 110 are connected to ASIC 62 of the control board 60through a PCI bus and so forth.

[0158] The control board 60 is further provided with a CPU 61, a staticRAM (SRAM) 63, a Synchronous DRAM (SDRAM) 64, a flash memory 65, an HDD66, a network interface controller 67 that are connected to the ASIC 62.

[0159] CPU 61 controls the entire system of the multifunctionalapparatus 1. CPU 61 and ASIC 66 are connected each other through NB thatis a CPU chip set. As described above, even if the information of theinterface of CPU 61 is not available, ASIC 66 can be connected to CPU 61through NB.

[0160] CPU 61 controls the entire operation of the functional apparatus1. CPU 61 executes processes of SCS 42, SRM 43, ECS 44, MCS 45, OCS 46,FCS 47, and NCS 48 that are included in the platform 40 under thecontrol of the OS 41. CPU 61 further runs the printer application 31,the copier application 32 the facsimile application 33, the scannerapplication 34, the net file application 35, and the in-line inspectionapplication 36 that are included in the application 30.

[0161] ASIC 62 is an integrated circuit of which hardware is designedfor image processing. The virtual memory spaces of the kernel and theprocesses of the application programs are mapped over the physicalmemory space provided by the SRAM 63 and the SDRAM 64.

[0162] The flash memory 65 is a non-volatile random access memory thatstores therein the application programs of the application 30, thecontrol services of the platform 40, computer programs such as SRM 43,and the user restriction/charge information.

[0163] HDD 66 is a storage device that stores therein image data,computer programs, font data, form data, and the distribution addressinformation.

[0164] The operation panel 70 is an input device with which the operatorcan operate the multifunctional apparatus 1, and at the same time, is adisplay device through which the system displays information to theoperator.

[0165] The multifunctional apparatus 1 may be connected to anothermultifunctional apparatus, a computer, and so forth through a networkand thereby distribute image data and so forth. The multifunctionalapparatus 1 with such a distribution function stores therein the userinformation such as the distribution address information and the userrestriction/charge information. The multifunctional apparatus 1 withoutsuch a distribution function may store only the user restriction/chargeinformation therein.

[0166] The method of controlling user information according to thepresent invention will be described using the multifunctional apparatus1 as an example of the information processing apparatus 1000 accordingto the present invention.

[0167] [First Embodiment]

[0168]FIG. 5 is a schematic diagram for explaining the method ofcontrolling user information according to an embodiment of the presentinvention. The user restriction/charge information stored in the flashmemory 65 is used for controlling the authorization of various functionsas entitled to each user and the quantity of authorized functionconsumed by each user. For example, the user restriction/chargeinformation is configured as showed in FIG. 6.

[0169]FIG. 6 is a table showing the user restriction/charge information.The user restriction/charge information showed in FIG. 6 includes dataitems such as Identification No., Registration No., user name, usercode, authorization (user restriction) for the copying function, thenumber of copied pages, authorization (user restriction) fordistributing, and the number of distributed pages. The userrestriction/charge information stored in the flash memory 65 iscontrolled by the charge information controlling module 121 included inthe SCS 42.

[0170] The parameters of various services, modules, and applicationprograms are also stored in the flash memory 65 and are controlled bythe system initializing module (not showed) included in the SCS 42.

[0171] The distribution address information stored in the HDD 66 is usedto control the addressees and the senders of distribution informationand is configured as showed in FIG. 7. FIG. 7 is a table showing thedistribution address information, for example. The distribution addressinformation of FIG. 7 includes data items such as identification No.,registration No., user name, e-mail address, and the authorization (userrestriction) for sending. The distribution address information stored inthe HDD 66 is controlled by the USC 49.

[0172] The UCS 49 directly controls the distribution address informationstored in the HDD 66 and, at the same time, indirectly controls the userrestriction/charge information stored in the flash memory 65 through thecharge information controlling module 121.

[0173] In the case of the multifunctional apparatus 1 without thedistribution function, no distribution address information is stored inthe HDD 66. Even in this case, the multifunctional apparatus 1 can havethe same interface as that of the multifunctional apparatus 1 with thedistribution function because the UCS 49 can indirectly control the userrestriction/charge information stored in the flash memory 65 through thecharge information controlling module 121.

[0174] The multifunctional apparatus showed in FIG. 5, stores the userrestriction/charge information in the flash memory 65 and thedistribution address information in the HDD 66. The userrestriction/charge information, the distribution address information, orboth may be stored in the memory unit included in the FCU 80.Alternatively, the portion of the user restriction/charge information orthe portion of the distribution address information may be stored in thememory unit included in the FCU 80.

[0175] The case where the facsimile application 33, as an example of theapplication-programs 30, accesses the user information through the UCS49 will be described by reference to the drawings.

[0176]FIG. 8 is a schematic diagram for explaining the access of thefacsimile application 33 to the user information. The facsimileapplication 33, as a client of the UCS 49, requests for access to theuser information through the API provided by the UCS 49.

[0177] The UCS 49 determines in which, the flash memory 65 or the HDD66, the user information requested by the facsimile application 33 isstored. Then, the UCS 49 obtains the requested user information fromeither the flash memory 65 or the HDD 66, and provides the obtained userinformation to the facsimile application 33.

[0178] In particular, when the facsimile application 33 request foraccess to the distribution address information, the UCS 49 obtains arequested item of the distribution address information from the HDD 66and provides the obtained item to the facsimile application 33. When thefacsimile application 33 requests for access to the userrestriction/charge information, the UCS 49 obtains the requested item ofthe user restriction/charge information from the flash memory 65 throughthe charge information controlling module 121 and provides the obtaineditem to the facsimile application 33.

[0179] Accordingly, the facsimile apparatus 33 can obtain a desired itemof the user information from the UCS 49 without designating where thedesired item of the user information is stored. The initializing processto be performed by the facsimile application 33 will be described below.

[0180] The UCS 49, as a server, creates a thread and opens a socket towait for a request. The facsimile application 33, as a client, creates athread and opens a socket to wait for an event. The facsimileapplication 33 registers its subscription through the socket that theUCS 49 opens.

[0181] The inter-process communication between the request from thefacsimile application 33 received through the socket of the UCS 49 andthe event from the UCS 49 received through the socket of the facsimileapplication 33 enables the facsimile application 33 and the UCS 49 tooperate in collaboration with each other.

[0182] The operation in which the scanner application 34 displays thedistribution address information on the operation panel 70 will bedescribed as an example by reference to the drawings. FIG. 9 is a flowchart showing the operation in which an application program accesses thedistribution address information.

[0183] The scanner application 34 obtains configuration information fromUCS 49 using the API (step S110). The configuration information isinformation about the configuration of the UCS 49. The configurationinformation contains information about incorporation and parameters ofthe UCS 49 and the charge information controlling module 121. This stepS110 will be described in more detail later.

[0184] Subsequently to the step S110, the scanner application 34determines usable functions from the obtained configuration informationand registers the functions to be used using the API at the UCS 49 (stepS111). After this registration in the UCS 49, of the functions to beused, the scanner application 34 is automatically notified of theupdates of the user information.

[0185] For example, if e-mail address information is usable, the scannerapplication 34 registers the e-mail address information as a function tobe used, in the UCS 49. Subsequently, when the e-mail addressinformation is updated, the UCS 49 informs the scanner application 34 ofthe update. The step S111 will be described in more detail later.

[0186] Next to the step S111, the scanner application 34 obtains tag setinformation and tag information from the UCS 49 through the API (stepS112).

[0187]FIG. 10 illustrates a tag set and tags. A tag set 122 and tags 123are additional information for better user interface. The tag set 122 isan ordered set of tags such as “Frequently Used”, “ABC”, and so forth,and contains the information of tags attached to the tag set. The tag123 is a labeled ordered set of entries and contains the information ofthe label and entries attached thereto.

[0188] In addition, the “Frequently Used” tag 123 is a special tag thatis attached to all tag sets. Tags 123 other than the “Frequently Used”are not attached to a plurality of tag sets. A more detailed descriptionon this step will be given later.

[0189] Subsequent to the step S112, the scanner application 34 obtainsthe entries attached to a selected tag from the UCS 49 using the API(step S113).

[0190]FIG. 11 is a schematic diagram illustrating entries. One or moreentries 125 constituting the entries 124 are divided into accountscorresponding to individual users and groups corresponding to enumeratedaccounts. This step S113 will be described in more detail later.

[0191] Next after step S113, the scanner application 34 creates an entryselection screen as showed in FIG. 12 and displays the entry selectionscreen on the operation panel 70 (step S114). FIG. 12 is a schematicdiagram illustrating the entry selection screen.

[0192] The entry selection screen of FIG. 12 is created based on the tagset, the tags, and the entries. An icon in which a small image of threepeople is showed at the upper right corner indicates a group ofaccounts. An icon without the small image of three people at the upperright corner indicates an individual account.

[0193] Next after step S114, the scanner application 34 determineswhether an entry is selected from the entry selection screen (stepS115). If the scanner application 34 determines that an entry is alreadyselected (YES branch of S115), the scanner application 34 performs stepS116. If the scanner application 34 determines that no entry is selectedyet (NO branch of S115), the scanner application 34 performs step S117.

[0194] The scanner application 34 obtains the detailed information ofthe selected entry from the UCS 49 using the API (step S116), and thenperforms step S117. For example, the scanner application 34 may displaythe obtained detailed information of the selected entry in theinformation display field of the entry selection screen of FIG. 12.

[0195] The scanner application 34 determines whether another tag isselected from the entry selection screen (step S117). If the scannerapplication 34 determines that another tag is selected (YES branch ofS117), the scanner application 34 returns to previous step S113. If thescanner application 34 determines that no tag is selected (NO branch ofS117), the scanner application performs step S118.

[0196] The scanner application 34 determines whether it is informed bythe UCS 49 of any update in the user information (step S118). If thescanner application 34 determines that it receives the updateinformation (YES branch of S118), the scanner application 34 returns toprevious step S112. If the scanner application 34 determines that it hasnot received the update information (NO branch of S118), the scannerapplication 34 returns to previous step S115.

[0197] Furthermore, the steps of the flow chart showed in FIG. 9 will bedescribed in more detail by reference to the drawings. FIG. 13 is a flowchart illustrating the step S110 of obtaining the configurationinformation. The scanner application 34 requests the UCS 49 to give theconfiguration information using the API for obtaining the configurationinformation (step S121). FIG. 14 illustrates the API for obtaining theconfiguration information.

[0198] After step S121, the UCS 49 provides the scanner application 34with the configuration information (step S122). The UCS 49 creates theconfiguration information based on the incorporation information, theparameters, hardware configuration information, and charge informationconfiguration obtained from the charge information controlling module121. The charge information controlling module 121 sets up the chargeinformation configuration based on the incorporation information, theparameters, and the hardware configuration information.

[0199] The configuration information of FIG. 15 contains a serviceversion, usable functions, and the maximum number of entries to beregistered. The service version is incorporation information of the UCS49. The usable functions are determined by the UCS 49 based on thehardware configuration information, and indicates the existence of thecharge information and the e-mail address information. The maximumnumber of entries to be registered is a control parameter of the UCS 49indicating the maximum number of entries that the UCS 49 can register.An entry is the minimum unit containing the distribution address, thesender, a chargeable user and so forth and further contains a name andID number.

[0200] The step S111 for registering functions to be used will bedescribed in more detail. FIG. 16 is a flow chart showing the step S111for registering functions to be used. The scanner application 34determines usable functions based on the configuration informationobtained in step S122 (step S131).

[0201] Subsequent to step S131, the scanner application 34 selectsfunctions to be used from the usable functions determined in step S131(step S132). After step S132, the scanner application 34 request the UCS49 to register the functions selected in step S132 using the API forregistering functions to be used (step S133). FIG. 17 illustrates theAPI for registering functions to be used.

[0202] After step S133, the UCS 49 stores the corresponding relationshipbetween the scanner application 34 that requests for the registrationand the registered functions (step S134). After this step S134, when theuser information is updated, the UCS 49 informs the scanner application34 of the update.

[0203] Accordingly, since the scanner application 34 is informed of theupdate in the user information, the scanner application 34 can re-obtainthe updated user information.

[0204] A description about step S112 for obtaining a tag set and a tagwill be given next. FIG. 18 is a flow chart illustrating step S112 forobtaining a tag set and a tag.

[0205] The scanner application 34 requests for all tag sets of the UCS49 using the API for obtaining a tag set (step S41). FIG. 19 illustratesan API for obtaining a tag set.

[0206] Subsequent to step S141, the UCS 49 provides all tag sets to thescanner application 34 (step S142). FIG. 20 illustrates a tag set. Thetag set of FIG. 20 contains data items such as an ID number, the numberof tags attached to the tag set, and attached tags. The ID numbers oftags attached to the tag set are stored in the attached tags field.

[0207] After step S142, the scanner application 34 selects tag sets andtags based on the reference value of the tag sets and the tags that thescanner application 34 contains as the control parameters (step S143).

[0208] Subsequent to step S143, the scanner application 34 requests forall tags attached to the tag sets selected in step S143, from the UCS 49using an API for obtaining tags (step S144). FIG. 21 illustrates the APIfor obtaining tags.

[0209] Subsequent to step S144, the UCS 49 reads tags from the HDD 66and provides the tags to the scanner application 34. FIG. 22 illustratestag information. The tag information of FIG. 22 contains data items suchas a tag ID number, a tag category, and a label. The tag category isused to identify whether the tag is “frequently used” or not.

[0210] The next step S113 for obtaining tag entries will be describedbelow. FIG. 23 is a flow chart showing step S113 for obtaining tagentries.

[0211] The scanner application 34 requests the tag entries attached tothe tag selected in step S143 from the UCS 49 using an API for obtainingtag entries (step S151). FIG. 24 illustrates the API for obtaining tagentries.

[0212] After step S151, the UCS 49 reads the tag entries from the HDD 66and provides the read tag entries to the scanner application 34 (stepS152). FIG. 25 illustrates the tag entries. The tag entries of FIG. 25contain data items such as an entry ID number, an entry index number, anentry category, and a user name. The entry index number is attached sothat users can easily memorize it. The entry category indicates whethera user is authorized to become an addressee of distribution, whether theuser is authorized to become a sender, and whether the entry is anaccount or a group of accounts.

[0213] It is not necessary to obtain all the tag entries attached to thetag at once. Only tag entries that fit a screen of the operation panel70 may be obtained at first. The tag entries may be filtered bydesignating filtering conditions so that only entries having e-mailaddresses or being authorized to become senders, for example, aredisplayed.

[0214] The case in which an entry index number is input to a directinput field 126 in the entry selection screen of FIG. 12 will bedescribed. FIG. 26 is a flow chart showing a step for processing aninput of an entry index number.

[0215] Using an API for obtaining an entry control number correspondingto an entry index number, the scanner application 34 obtains from theUCS 49 an entry control number corresponding to the entry index numberinput in the direct input field 126 (step S161). FIG. 27 illustrates theAPI for obtaining an entry control number corresponding to an entryindex number.

[0216] Subsequent to step S161, the scanner application 34, using an APIfor obtaining a tag to which an entry is attached based on the entrycontrol number of the entry, obtains from the UCS 49 the tags to whichthe entry is attached based on the entry control number obtained in stepS161 (step S162). FIG. 28 illustrates the API for obtaining tags towhich an entry is attached from its entry-control number.

[0217] Then, the scanner application 34 determines whether the tagsobtained in step S162 is included in the currently selected tag set(step S163).

[0218] If the tags obtained in step S162 are included in the currentlyselected tag set (YES branch of S163), the scanner application 34selects one tag included in the currently selected tag set out of thetags obtained in step S162 (step S164). If more than one tags obtainedin step S162 are included in the currently selected tag set, one of thetags needs to be selected in compliance with appropriate criteria suchas the order of their tag control numbers, for example.

[0219] On the other hand, if none of the tags obtained in step S162 isincluded in the currently selected tag set (NO branch of S163), thescanner application 34 select one tag set and one tag in compliance withappropriate criteria (step S165).

[0220] After step S164 or step S165, the scanner application 34 obtainsfrom the UCS 49 tag entries attached to the tag selected in step S164 orstep S165 using the API for obtaining tag entries (step S166). Then, thescanner application 34 creates, using the obtained tag entries, theentry selection screen as showed in FIG. 12 and displays it on theoperation panel 70.

[0221] If the order of tag entries is known, the step S166 may be easy.In the case where 12 tag entries can be displayed in one screen of theoperation panel 70 and the order of a desired entry is the 20^(th), forexample, only 12 entries starting with the 13^(th) entry may beobtained.

[0222] Using an API for obtaining the order of entries, the scannerapplication 34 obtains the order of entries attached to a tag from theUCS 49. FIG. 29 illustrates the API for obtaining the order of entries.

[0223] Thanks to this API for obtaining the order of entries, it is notnecessary to repeat a step for obtaining 12 entries and determiningwhether the desired entry is included in the obtained entries.

[0224] The UCS 49 provides an API for obtaining mail information aswell. FIG. 30 illustrates the API for obtaining three-mail information.The scanner application 34 can obtain the mail information such ase-mail addresses from the UCS 49 using the API for obtaining mailinformation.

[0225]FIG. 31 illustrates an API for obtaining sender authenticationinformation. The scanner application 34 obtains the senderauthentication information from the UCS 49 using the API for obtainingthe sender authentication information. The sender authenticationinformation is a password, for example, that is used to identify thesender.

[0226]FIG. 32 illustrates an API for obtaining user restrictioninformation. The scanner application 34 obtains the user restrictioninformation using the UCS 49. The user restriction information is aseries of flags indicating specific restrictions such that the user isprohibited from using the color LP, or that the user is prohibited fromusing the black & white LP, for example.

[0227]FIG. 33 illustrates an API for obtaining email group information.The scanner application 34 obtains e-mail group information from the UCS49 using the API for obtaining e-mail group information. The e-mailgroup information is information such as the number of accounts attachedto an e-mail group and the accounts themselves attached to the e-mailgroup.

[0228]FIG. 34 illustrates an API for searching entries. The scannerapplication 34 causes the UCS 49 to search entries using this API forsearching entries. Various search conditions such as forward match,backward match, and partial match.

[0229] In the above description by reference to FIG. 8, the facsimileapplication 33 creates the screen to be displayed on the operation panel70. Another separate module for creating a screen to be displayed on theoperation panel 70 may be provided.

[0230]FIG. 35 is a schematic diagram showing the operation of a modulefor creating a screen. The screen creating module 130 included in theSCS 42 creates a screen to be displayed on the operation panel 70 inresponse to a request from the facsimile application 33 and the scannerapplication 34.

[0231] As described above, the facsimile application 33 and the scannerapplication 34 can share the screen creating module 130 that is providedseparately.

[0232] Since the multifunctional apparatus 1 is provided with the UCS49, a plurality of applications programs such as the facsimileapplication 33 and the scanner application 34 can share the userinformation. Whichever, the flash memory 65 or the HDD 66, the userinformation is stored in, the application programs can obtain the userinformation by accessing only the UCS 49.

[0233] In FIG. 1, the UCS 49 is included in the control service, but theUCS 49 may be included in the application program 30, for example. Inaddition, in FIG. 8, the facsimile application 33 and the scannerapplication 34 access the user information through the API provided bythe UCS 49, but the control service may access the user informationthrough the API provided by the UCS 49, for example.

[0234] Though the multifunctional apparatus 1 is mainly described inthis embodiment, those skilled in the art may easily recognize that thepresent invention is also applicable to the information processingapparatus 1000 showed in FIGS. 1 and 2. In the case of the informationprocessing apparatus 1000, the user information processing unit 1260,instead of the UCS 49 of FIGS. 5 and 8, controls the user information.In this case, no unit corresponding to the SCS 42 is required. [SecondEmbodiment]

[0235] A detailed description of the information processing apparatusaccording to the second embodiment of the present invention will begiven below. The hardware configuration of the information processingapparatus is identical to that of the information processing apparatusaccording to the first embodiment. The software configuration thereof isalso substantially identical to the first embodiment. Accordingly, onlywhat is different will be mainly described.

[0236] The updating of the user information by the system initializationmodule 122 included in the SCS 42 using the UCS 49 will be describedbelow.

[0237]FIG. 36 is a schematic diagram for explaining the updatingoperation of the user information. The system initializing module 122 asa client requests the UCS 49-to update the user information.

[0238] The UCS 49 determines which, the flash memory 65 or the HDD 66,the user information requested by the system initialization module 122is stored in. The UCS 49 updates the user information stored in theflash memory 65 or the HDD 66 in response to the request from the systeminitialization module 122 for updating.

[0239] In particular, the UCS 49 updates the distribution addressinformation stored in the HDD 66 in response to the request from thesystem initialization module 122 for updating the distribution addressinformation. The UCS 49 also updates the user restriction/chargeinformation stored in the flash memory 65 in response to the requestfrom the system initialization module 122 for updating the userrestriction/charge information. The UCS 49 updates the userrestriction/charge information stored in the flash memory 65 via thecharge information controlling module 121.

[0240] Accordingly, the system initialization module 122 can update theuser information without designating where the user information desiredto be updated is stored. The system initialization module 122 initiatesthe use of the UCS 49 as follows.

[0241] The UCS 49 as a server creates a thread for waiting for arequest, opens a socket, and waits for the request. The systeminitialization module 122 creates a thread to wait for an event, opens asocket, and waits for the event. At the same time, the UCS 49 registersa subscription through the socket.

[0242] The inter-process communication between the request from thesystem initialization module 122 and the event from the UCS 49 throughthe socket of UCS 49 and the socket of the system initialization module122, respectively, enables the system initialization module 122 and theUCS 49 to collaborate.

[0243] Next, the operation of the system initialization module 122 toupdate the user information will be described by reference to anotherdrawing. FIG. 37 is a flow chart showing the updating operation of thedistribution address information.

[0244] The system initialization module 122 obtains the configurationinformation of the UCS 49 using an API (step S210). The configurationinformation is information about the configuration of the UCS 49, andincludes the incorporation information and the setup parameterinformation of the UCS 49 and the charge information controlling module121.

[0245] Next to step S210, the system initialization module 122determines usable functions based on the obtained configurationinformation and registers the functions to be used in the UCS 49 usingan API (step S211).

[0246] Subsequent to step S211, the system initialization module 122creates a menu screen for system initialization and displays the menuscreen on the operation panel 70 (step S212). FIG. 38 is a schematicdiagram of the menu screen for the system initialization.

[0247] The menu screen for system initialization of FIG. 38 includes oneor more menu buttons 2130 corresponding to processing to update the userinformation. A user can select a desired operation by pressing a menubutton 2130 displayed in the menu screen for system initialization onthe operation panel 70.

[0248] After step S212, the system initialization module 122 determineswhether a menu item has been selected (step S213). If the systeminitialization module 122 determines that a menu item has been selectedfrom the system initialization menu screen (YES branch of S213), thesystem initialization module 122 processes the selected menu item (stepS214). A detailed description on step S214 will be given later.

[0249] On the other hand, if the system initialization module 122determines that no menu item has been selected from the systeminitialization menu yet (NO branch of S213), the system initializationmodule 122 repeats step S213.

[0250] Step S214 will be described in detail by reference to thedrawings below. If an item “USER (ADDRESS) REGISTRATION/UPDATE/DELETION”is selected from the system initialization menu, the systeminitialization module 122 displays an entry information updating screenas showed in FIG. 39 on the operation panel 70. The systeminitialization module 122 obtains information that is needed to createthe entry information updating screen such as tag set information, taginformation, and tag entries attached to a tag from the UCS 49 using anAPI.

[0251]FIG. 39 is a schematic diagram of the entry information updatingscreen. An entry means a user (address) and is divided into an accountcorresponding to an individual user and a group of accounts.

[0252] The entry information update screen of FIG. 39 includes a tag set2132 including one or more tags, an entry display field 2134 displayingtag entries attached to the selected tag, a new item button 2136 withwhich the user can open a new screen to create and register new entryinformation, an update button 2138 for updating an entry informationthat is already registered, and a deletion button 2140 for deleting aselected entry information.

[0253] The tag set 2132 is an ordered set of tags such as “FREQUENTLYUSED” and “AB”. The tag is a labeled ordered set of entries. In theentry information updating screen of FIG. 39, a tag “AB” is selected,and 7 entries attached to the tag “AB” are displayed in an entry displayfield 2134.

[0254] If the new entry button 2136 is selected, the systeminitialization module 122 displays an entry information registrationscreen as showed in FIG. 40 on the operation panel 70 so that the usercan create a new entry and register it. FIG. 40 is a schematic diagramshowing the entry information registration screen.

[0255] The entry information registration screen of FIG. 40 includes afield to input user name (address), a field to input the index number,tag buttons to set a tag to which the entry is attached, a user codebutton 2142 to enter a screen for inputting a user code, a mail addressbutton 2144 to enter a screen for inputting a mail address, a facsimilenumber button 2146 to enter a screen for inputting a facsimile number, agroup button 2148 to enter a screen for setting a group, and aregistration button 2150 to register the entry information.

[0256] A user sets a user (address) name, an index number, and a tag towhich the user is attached in the entry information registration screen.The user inputs the user code in the displayed screen for setting theuser code by selecting the user code button 2142. The user code isinformation indicating the restrictions on functions that the user canuse.

[0257] The user can input the mail address by selecting the mail addressbutton 2144 and displaying a screen for setting the mail address on theoperation panel 70. The user further can input the facsimile address byselecting the facsimile number button 2146 and displaying a screen forinputting the facsimile number on the operation panel 70. Furthermore,the user can select a group to which the entry is to be attached byselecting the group button 2148 and displaying a screen for setting agroup on the operation panel 70.

[0258] After setting all information that is required for an entry, theuser selects the registration (enter) button 2150 of the entryinformation registration screen of FIG. 40. The system initializationmodule 122 requests the UCS 49 to update the entry information usingvarious APIs.

[0259] The system initialization module 122 requests the UCS 49 tocreate the entry using an API showed in FIG. 41. FIG. 41 illustrates anAPI for creating an entry. The UCS 49 creates an entry in response tothis API. When a new entry is created, the new entry is displayed in theentry display field 2134 of the entry information updating screen, forexample.

[0260] The system initialization module 122 also requests the UCS 49 toset an entry tag to which the entry is to be attached using an API asshowed in FIG. 42. FIG. 42 illustrates the API for setting entry tag towhich an entry is to be attached. The UCS 49 sets the entry tag inresponse to the API for setting the entry tag to which the entry is tobe attached.

[0261] Using an API showed in FIG. 43, the system initialization module122 request the UCS 49 to set a usercode. FIG. 43 illustrates an API forsetting the usercode. The UCS 49 sets the usercode in compliance withthe API.

[0262] Using an API as showed in FIG. 44, the system initializationmodule 122 requests the UCS 49 to set a mail address. FIG. 16illustrates the API for setting the mail address. The UCS 49 sets themail address in compliance with the API for setting the mail address.

[0263] Using an API, the system initialization module 122 requests theUCS 49 to set a facsimile number (destination). The UCS 49 sets thefacsimile number (destination) in compliance with the API.

[0264] The system initialization module 122, using an API as showed inFIG. 45, determines whether the index number set in the entryinformation registration screen is already registered. If the indexnumber is already registered, the system initialization module 122requests the UCS 49 to obtain an unused index number close to thealready registered index number.

[0265]FIG. 45 illustrates an API for obtaining an index number. Using anAPI for checking index number, the UCS 49 determines whether the indexnumber set in the entry information registration screen is alreadyregistered. If the index number is already registered, the UCS 49obtains an unused index number near the already registered index number.

[0266] When the update button 2138 in the entry information updatingscreen of FIG. 39 is selected, the system initialization module 122displays the entry information registration screen for updating alreadyregistered entry information as showed in FIG. 40 on the operation panel70. The entry information registration screen showed when the updatebutton 2138 is selected is different from the entry informationregistration screen showed when the new entry button 2136 is selected inthat already registered entry information is displayed.

[0267] Using various APIs, the system initialization module 122 displaysalready registered entry information in the entry informationregistration screen. The system initialization module 122 obtains agroup to which an entry is attached from the UCS 49 using an API showedin FIG. 46. FIG. 46 illustrates an API for obtaining a group to which anentry is attached.

[0268] The description of the registration of information in the entryinformation registration screen will be omitted since the registrationof information in the entry information registration screen displayedwhen the update button 2138 is selected is the same as that in the entryinformation registration screen displayed when the new entry button 2136is selected.

[0269] After inputting all information needed to update the entryinformation, the user selects the enter button 2150. In response to theselection, the system initialization module 122 requests the UCS 49 toupdate the entry information using various APIs.

[0270] For example, the system initialization module 122 uses an API asshowed in FIG. 47 to request the UCS 49 to update the entry. FIG. 47illustrates the API for updating the entry. The UCS 49 updates the entryin compliance-with the API.

[0271] On the other hand, when an entry in the entry display field 2134of the entry information updating screen of FIG. 39 is selected andthen, the delete button 2140 is selected, the system initializationmodule 122 deletes the entry using an API of FIG. 48. FIG. 48illustrates the API for deleting an entry.

[0272] When the “editing tags” is selected in the system initializationmenu of FIG. 38, the system operates as follows. When the “editing tags”is selected, the system initialization module 122 displays a tag editingscreen on the operation panel 70. The tag editing screen includes thetag sets 2132 identical to that of the entry information updating screenof FIG. 39. Using an APT, the system initialization module 122 obtainstag set information and tag information that are needed to create thetag editing screen from the UCS 49.

[0273] After inputting all information required to update tags, the userselects the enter button of the tag editing screen, for example. Inresponse to the selection, the system initialization module 122 requeststhe UCS 49 to update the tags using an API as showed in FIG. 49. FIG. 49illustrates an API for updating the tags. The UCS 49 updates the tags incompliance with the API.

[0274] When “changing entry order” is selected in the systeminitialization menu screen, the system operates as follows. When“changing entry order” is selected, the system initialization module 122displays an entry order change screen on the operation panel 70. Theentry order change screen includes, as the entry information updatingscreen does, a tag set 2132 and an entry display field 2134 in whichentries attached to the selected tag are displayed. The systeminitialization module 122 obtains the tag set information and taginformation that are required for creating the entry order change screenfrom the UCS 49 using an API.

[0275] The user changes the order of entries displayed in the entrydisplay field 2134, for example, as desired and selects the enter buttonof the entry order change screen, for example. The system initializationmodule 122 requests the UCS 49 to change the order of entries using anAPI as showed in FIG. 50. FIG. 50 illustrates an API for changing theorder of entries. The UCS 49 changes the order of entries in compliancewith the API.

[0276] The UCS 49 can support the following API. FIG. 51 illustrates anAPI for setting sender authentication. The system initialization module122 requests the UCS 49 to set the sender authentication informationusing the API for setting sender authentication. The senderauthentication information is a password, for example, that can be usedto identify a sender.

[0277]FIG. 52 illustrates an API for setting a mail group. The systeminitialization module 122 requests the UCS 49 to set a mail group usingthe API for setting a mail group. The mail group means information suchas the number of accounts and the accounts attached to the mail group.

[0278]FIG. 53 illustrates the API for obtaining the number of entriesregistered. The system initialization module 122 can obtain the numberof registered entries from the UCS 49 using the-API for obtaining thenumber of entries registered.

[0279]FIG. 54 illustrates an API for obtaining the number of accountsregistered. The system initialization module 122 can obtain the numberof registered entries from the UCS 49 using the API for obtaining thenumber of registered accounts.

[0280]FIG. 55 illustrates an API for obtaining the number of registeredgroups. The system initialization module 122 can obtain the number ofregistered groups from the UCS 49 using the API for obtaining the numberof registered groups.

[0281]FIG. 56 illustrates an API for obtaining the number of registeredmail addresses. The system initialization module 122 can obtain thenumber of registered mail addresses from the UCS 49 using the API forobtaining the number of registered mail addresses.

[0282]FIG. 57 illustrates an API for obtaining the number of registeredusercodes. The system initialization module 122 can obtain the number ofregistered usercodes from the UCS 49 using the API for obtaining thenumber of registered usercodes.

[0283] The numbers of entries, accounts, groups, mail addresses, andusercodes are used to create a screen to update the information of theentries, the accounts, the groups, the mail addresses, and theusercodes, for example.

[0284] As described above, since the UCS 49 that controls the userinformation is provided, the system initialization module 122 can updatethe user information without designation of where the user 15information is stored.

[0285] In FIG. 3, the UCS 49 is included in the control service, but theUCS 49 may be included in the application program 30, for example. Inaddition, in FIG. 36 and so forth, the system initialization module 122requests the UCS 49 to update the user information using the APIprovided by the UCS 49, but the present invention is not limited to thisexample.

[0286] The application programs 30 such as the facsimile application 33may request the UCS 49 to update the user information using the APIprovided by the UCS 49, for example.

[0287] Though the multifunctional apparatus 1 is mainly described inthis embodiment, those skilled in the art may easily recognize that thepresent invention is also applicable to the information processingapparatus 1000 showed in FIGS. 1 and 2. In the case of the informationprocessing apparatus 1000, the user information processing unit 1260,instead of the UCS 49 of FIGS. 5 and 8, controls the user information.In this case, no unit corresponding to the SCS 42 is required.

[0288] [Third Embodiment]

[0289] The method of controlling the user information according to thethird embodiment of the will be described below. The multifunctionalapparatus 1 will be mainly described as an example of the informationprocessing apparatus 1000 according to the present invention.

[0290]FIG. 58 is a schematic diagram for explaining the method ofcontrolling the user information according to this embodiment. FIG. 58shows the configuration of the multifunctional apparatus 1 according tothis embodiment. The components that are identical to those showed inFIG. 5 are referred to by the same reference numerals, and theirdescription is omitted.

[0291] A remote interface 125 in the UCS 49 and an external controlapparatus 124 communicates through the NCS 48 and the network 123 usingthe simple object access protocol (SOAP) for exchanging messagesexpressed in the extensible markup language (XML).

[0292] The remote interface 125 has one or more web service functions(WSF) for realizing web services. The external control apparatus 124remotely controls the user information by remotely accessing the WSFexternally provided by the remote interface 125 using SOAP.

[0293]FIG. 59 is a schematic diagram for explaining the remote controlof the user information. The external control apparatus 124 has a PROXY130 that translates a web service request (WS request) into XML andoutputs the WS request expressed in XML. The remote interface 122 has anXML parser 131, a conversion library 132, and one or more WSFs 133 a-133n.

[0294] The XML purser 131 determines whether the WS request follows thedocuments type definition (DTD), analyzes the syntax of the DTD, andconverts the WS request into a tree-shaped parse that the conversionlibrary 132 can use. The conversion library 132 converts the parseprovided by XML parser 131 into WS requests. The WSF 133 a-133 n arefunctions provided by the method of the UCS 49 that realized the webservice.

[0295] The PROXY 130 of the external control apparatus 124 converts theWS, request into XML, and transmits the WS request expressed in XML tothe NCS 48 of the multifunctional apparatus 1. The NCS 48 distributesthe WS request expressed in the XML to XML parser 131 in compliance withthe uniform resource locator (URL).

[0296] The XML parser 131 converts the WS request expressed in XML to atree-shaped parse that the conversion library 132 can use, and then,provides the WS request to the conversion library 132. The conversionlibrary 132 converts the parse provided by the XML parser 131 into theWS request and identifies the WSF 133 a, for example, corresponding tothe converted WS request. The UCS 49 provides the external controlapparatus 124 with the web service such as the access to or the updatingof the user information.

[0297] The PROXY 130, the conversion library 132, and the WSF 133 a-133n are constructed based on the web service interface specification asshowed in FIGS. 60A-60C described in the web service descriptionlanguage (WSDL). FIGS. 60A-60C show the interface specification writtenin the WSDL. FIGS. 60A-60C describes the web service to obtain ageneration number.

[0298] A descriptive portion 3140 of the specification indicates thatthe input parameter used to obtain the generation number is “ticket” andthe data type is binary. A descriptive portion 3141 of the specificationindicates that the output parameter used to obtain the generation numberis “returnvalue” and “generation_out”, the data type of “returnValue” isenumeration, and the data type of “generation_out” is non-negativeinteger.

[0299] A descriptive portion 3142 indicates which parameter the methodcorresponding to the obtaining of the generation number uses. Inaddition, <operation name=“getGeneration”> of the descriptive portion142 corresponds to WSF 133 a, for example.

[0300] Next, the access to the user information using the remote controlwill be described below by reference to the drawings. FIG. 61 is a flowchart showing the access to the user information using the remotecontrol.

[0301] The external control apparatus 124 remote accesses the methodprovided by the remote interface 125 and uses the web service forobtaining the configuration information. Input/output parameters asshowed in FIG. 62 are used for the web service for obtaining theconfiguration information. FIG. 62 illustrates the input/outputparameters used for the web service for obtaining the configurationinformation. FIG. 63 illustrates the configuration information.

[0302] Subsequent to step S310, the external control apparatus 124remotely accesses the method provided by the remote interface 122, anduses a web service for authenticating a user or an administrator (stepS311). The web service for authenticating a user or an administratoruses input/output parameters as showed in FIG. 64. FIG. 64 illustratesthe input/output parameters used for the web service for authenticatinga user or an administrator.

[0303] The web service receives a password from the external controlapparatus 124 as an input, and outputs authentication information to theexternal control apparatus 124. The authentication information indicatesthat the user or the administrator is authenticated. The web service foraccessing and updating the user information requires the authenticationinformation as an input parameter. This requirement prohibitsunauthenticated person from accessing the user information.

[0304] After step S311, the external control apparatus 124 remotelyaccesses the method provided by the remote interface 125, and uses a webservice for obtaining generation number (step S312). The web service forobtaining the generation number uses the input/output parameters asshowed in FIG. 64.

[0305]FIG. 65 illustrates the input/output parameters used in the webservice for obtaining the generation number. The web service forobtaining the generation number receives the authentication informationfrom the external control apparatus 124 as an input parameter and outputthe generation number to the external control apparatus 124 as an outputparameter. Because the generation number is updated whenever the userinformation is updated, the generation number can be used to determinewhether the user information is updated or not in compliance with arequest from another external control apparatus 124. Subsequent to stepS312, the external control apparatus 124 remote accesses the methodprovided by the remote interface 125, and uses a web service forobtaining the tag set (step S313). Input/output parameters as showed inFIG. 66 are used in the web service for obtaining the tag set. FIG. 66illustrates the input/output parameters used in the web service forobtaining the tag set.

[0306] The web service for obtaining the tag set receives theauthentication information and the generation number as input parametersand outputs the generation number and an array structured as the tag setinformation to the external control apparatus 124 as an output. FIG. 67illustrates the data structure of a tag set.

[0307] After step S313, the external control apparatus 124 remotelyaccesses the method provided by the remote interface 125, and uses a webservice for obtaining tags for each tag set obtained in step S313. Theinput/output parameters as showed in FIG. 68 are used in the web servicefor obtaining tags. FIG. 68 illustrates the configuration of theinput/output parameters used in the web service for obtaining tags.

[0308] The web service for obtaining tags receives the authenticationinformation, the generation number, and the tag set index number asinput parameters, and outputs the generation number and the arraystructured as a tag to the external control apparatus 124 as outputparameters. FIG. 69 illustrates the data structure of a tag.

[0309] Subsequent to step S314, the external control apparatus 124remotely accesses the method provided by the remote interface 125, anduses a web service for obtaining tag entries for each tag obtained instep S314 (step S315). Input/output parameters as showed in FIG. 70 areused in the web service for obtaining tag entries. FIG. 70 illustratesthe input/output parameters used in the web service for obtaining tagentries.

[0310] The web service for obtaining tag entries receives theauthentication information, the generation number, the tag index number,filtering condition, entry offset, and the maximum number of tag entriesto be obtained simultaneously as input parameters. On the other hand,the web service for obtaining tag entries outputs the generation number,the number of entries that satisfy the condition, whether all entriesthat satisfy the condition are obtained, and the array of entryinformation to the external control apparatus 124. FIG. 71 illustratesthe filter conditions. FIG. 72 illustrates the data structure of entry.

[0311] In the case of filtering, members showed in FIG. 71 are usable.If a plurality of members are set “on”, it means the logical sum of the“on” members. If “all” is “on”, all entries are obtained whatever theother members are. If only “mail addressee” and “user code” are on,entries having mail addresses or usercodes are obtained, for example.

[0312] After step S315, the external control apparatus 124 remotelyaccesses the method provided by the remote interface 125, and uses a webservice for obtaining detailed entry information (step S316).

[0313] In the case where account information is obtained as the detailedentry information, the web service for obtaining account informationuses input/output parameters as showed in FIG. 73. FIG. 73 illustratesinput/output parameters used for the web service for obtaining theaccount information. The web service for obtaining the accountinformation receives the authentication information, the generationnumber, the array of entry ID numbers, and the designation of members tobe obtained from the external control apparatus 124 as input parameters,and outputs the generation number and the array of account informationto the external control apparatus 124 as output parameters. FIG. 74illustrates the data structure of an account. FIG. 75 illustrates thedata structure of a mail address. FIG. 76 illustrates the data structureof facsimile destination information. FIG. 77 illustrates the datastructure of the usercode information.

[0314] In the case of obtaining group information as the detailed entryinformation, a web service for obtaining the group information usesinput/output parameters as showed in FIG. 78. FIG. 78 shows theinput/output parameters used in the web service for obtaining groupinformation. The web service for obtaining the group informationreceives as input parameters the authentication information, thegeneration number, the array of entry index numbers, the designatedmember to be obtained from the external control apparatus 124, andoutputs the generation number, the array of group information to theexternal control apparatus 124.

[0315]FIG. 79 shows the data structure of the group information, forexample. FIG. 80 shows the data structure of the mail group information,for example. FIG. 81 shows the data structure of the facsimile groupinformation, for example.

[0316] After step S316, the external control apparatus 124 creates ascreen as showed in FIG. 92 based on the information obtained in stepsS313 S316 (step S317). FIG. 92 illustrates the screen created in stepS317.

[0317] The screen of FIG. 92 has four tabs with which the user canchoose information about the number of printed pages by user (CHARGEINFO), the user restriction by the user (USER RESTRICTION), the e-mailaddresses (E-MAIL INFO), and the facsimile addresses (FAX INFO). FIG. 92illustrates the case where the e-mail addresses are displayed.

[0318] After step S317, the external control apparatus 124 displays thescreen created in step S317. Since the user information is accessibleusing the external control apparatus 124 instead of the operation panel70 of the multifunctional apparatus 1, more items of the userinformation can be displayed simultaneously.

[0319] The updating of the user information through the remote accesswill be described by reference to the drawings. After displaying thescreen in compliance with the flow chart of FIG. 61, for example, theexternal control apparatus 124 remotely accesses the method provided bythe remote interface 125 to realize the following: a web service fordisplacing tag information of a tag set, a web service for displacingentries of a tag, a web service for deleting an entry having adesignated ID number, a web service for adding an account, a web servicefor updating account information, a web service for adding a group, aweb service for updating the group information, and so forth.

[0320]FIG. 82 shows the input/output parameters used in the web servicefor displacing (replacing) tag information of a tag set for example. Theweb service for displacing tag information of a tag set receives asinput parameters the authentication information, the generation number,the tag set control number, and the array of tags from the externalcontrol apparatus 124, and outputs as output parameters the generationnumber and the number of displaced tags to the external controlapparatus 124.

[0321]FIG. 83 shows the input/output parameters used in the web servicefor displacing entries of a tag for example. The web service fordisplacing entries in a tag receives as input parameters theauthentication information, the generation number, the tag index number,the offset, a flag indicating whether all displacements are completed,and the array of entry index numbers from the external control apparatus124, and outputs as output parameters the generation number and thenumber of entries properly processed to the external control apparatus124.

[0322]FIG. 84 shows the input/output parameters used in the web servicefor deleting entries having designated ID numbers. The web service fordeleting entries having designated ID numbers receives as inputparameters the authentication information, the generation number, thearray of entry index numbers from the external control apparatus 124,and outputs the generation number and the number of deleted entries asoutput parameters to the external control apparatus 124.

[0323]FIG. 85 shows the input/output parameters used in the web servicefor adding new accounts. The web service for adding new accountsreceives as input parameters the authentication information, thegeneration number, the array of account information from the externalcontrol apparatus 124, and outputs as output parameters the generationnumbers and the array of index numbers of added new entries to theexternal control apparatus 124.

[0324]FIG. 86 shows the input/output parameters used in the web servicefor updating account information. The web service for updating theaccount information receives as input parameters the authenticationinformation, the generation number, the designation of members to beupdated, the array of account information from the external controlapparatus 124, and output as output parameter the generation number andthe number of updated entries to the external control apparatus 124.

[0325]FIG. 87 shows the input/output parameters used in the web servicefor adding new groups. The web service for adding new groups receives asinput parameters the authentication information, the generation number,the array of group information from the external control apparatus 124,and outputs as output parameters the generation number and the array ofindex numbers of added new entries to the external control apparatus124.

[0326]FIG. 88 shows the input/output parameters used in the web servicefor updating the group information. The web service for updating thegroup information receives as input parameters the authenticationinformation, the generation number, the designation of members to beobtained, the array of group information from the external controlapparatus 124, and outputs as output parameters the generation numberand the number of updated entries to the external control apparatus 124.

[0327] Next, the backup and restoring of the user information usingremote control will be described below by reference to the drawings. Thebackup of the user information can be performed by using the accessoperation to the user information described above. The external controlapparatus 124 obtains the user information using the access operation ofthe user information, and then stores the obtained user information in astorage device so as to backup it.

[0328] On the other hand, the restoring of the user information isrealized by following the steps described in the flow chart of FIG. 89,for example. FIG. 89 shows a flow chart of the restoring operation ofthe user information using remote control for example.

[0329] Since steps S320-S322 are the same as steps S310-S312 of FIG. 61,their description will be omitted.

[0330] The external control apparatus 124 remotely accesses the methodprovided by the remote interface 125 and uses the web service forprocessing before the restoring (step S323).

[0331]FIG. 90 shows the input/output parameters used in the web servicefor processing before restoring. The web service for processing beforerestoring receives as input parameters the authentication informationand the generation number from the external control apparatus 124, andoutputs as the output parameter the generation number to the externalcontrol apparatus 124.

[0332] After step S323, the external control apparatus 124 remotelyaccesses the method provided by the remote interface 125 and uses theweb service for deleting all entries (step S324). The charge informationstored in the flash memory 65, however, is not deleted.

[0333] After step S324, the external control apparatus 124 remotelyaccesses the method provided by the remote interface 125 and uses theweb service for displacing tags in a tag set that is backed up already(step S325).

[0334] After step S325, the external control apparatus 124 remotelyaccesses the method provided by the remote interface 125 and uses theweb service for adding all groups that are already backed up (stepS326).

[0335] After step S326, the external control apparatus 124 remotelyaccesses the method provided by the remote interface 125 and uses theweb service for adding all accounts that are already backed up (stepS327).

[0336] Subsequent to step S327, the external control apparatus 124remotely accesses the method provided by the remote interface 125 anduses the web service for displacing entries in a tag that is alreadybacked up (step S328).

[0337] After step S328, the external control apparatus 124 remotelyaccesses the method provided by the remote interface 125 and uses theweb service for processing after the restoring (step S329).

[0338]FIG. 91 shows the input/output parameters used in the web servicefor processing after the restoring. The web service for processing afterthe restoring receives as input parameters the authenticationinformation and the generation number from the external controlapparatus 124, and outputs the generation number to the external controlapparatus 124.

[0339] Following the steps of FIG. 89, the external control apparatus124 can restore the user information stored in the flash memory 65 orthe HDD 66 using the backup user information. As described above, thanksto the remote interface 125, the user can remotely control the userinformation stored in the multifunctional apparatus 1 according to thisembodiment of the present invention.

[0340] In the case of the configuration showed in FIG. 3, the UCS 49 isincluded in the control service, but the present invention is notlimited to this configuration. The UCS 49 may be provided in theapplication programs 30.

[0341] Though the multifunctional apparatus 1 is described in thisembodiment, those skilled in the art may recognize that the presentinvention is easily applicable to the information processing apparatus1000. In the case of the information processing apparatus 1000, the userinformation control unit 1260 instead of the UCS 49 controls the userinformation. In this case, no component corresponding to the SCS 42 isrequired.

[0342] This patent application is based on Japanese priority patentapplications No. 2002-050539 filed on Feb. 26, 2002, No. 2002-050540filed on Feb. 26, 2002, No. 2002-050547 filed on Feb. 26, 2002, No.2003-39974 filed on Feb. 18, 2003, No. 2003-39975 filed on Feb. 18,2003, No. 200339976 filed on Feb. 18, 2003, No. 2003-39977 filed on Feb.18, 2003, No. 2003-39978 filed on Feb. 18, 2003, and No. 2003-39979filed on Feb. 18, 2003, the entire contents of which are herebyincorporated by reference.

What is claimed is:
 1. A method of controlling user information for aninformation processing apparatus, comprising the steps of: a process ofan application program requesting an user information controlling unitto obtain an item of said user information; and said user informationcontrolling unit providing the obtained item of said user information tosaid process.
 2. The method as claimed in claim 1, wherein said userinformation controlling unit, in response to the request from saidprocess, obtains said item of said user information from informationstorage units.
 3. The method as claimed in claim 2, wherein said userinformation controlling unit identifies one of said information storageunits, and obtains said item of said user information from theidentified one of information storage units.
 4. The method as claimed inclaim 1, wherein said user information includes distribution addressinformation and user restriction/charge information.
 5. The method asclaimed in claim 4, wherein said information storage units include adistribution address information storage unit storing said distributionaddress information therein and a user restriction/charge informationstorage unit storing said user restriction/charge information therein.6. The method as claimed in claim 1, wherein, using a predefinedfunction, said process requests said user information controlling unitto obtain said item of said user information.
 7. The method as claimedin claim 6, wherein said function is a request to obtain configurationinformation of said user information controlling unit.
 8. The method asclaimed in claim 6, wherein said function is a request to inform, whensaid user information is updated, said process of the update.
 9. Themethod as claimed in claim 6, wherein said function is a request toobtain tags that categorizes said distribution address information intopredetermined categories.
 10. The method as claimed in claim 9, whereinsaid function is a request to obtain items of said distribution addressinformation categorized in one of said tags.
 11. The method as claimedin claim 9, wherein said function is a request to obtain a position ofan item of said distribution address information in one of said tags.12. The method as claimed in claim 6, wherein said function is a requestto obtain a control number of an item of said distribution addressinformation of which index number is input by a user.
 13. The method asclaimed in claim 12, wherein said function is a request to obtain a tagto which an item of said distribution address information correspondingto said control number.
 14. The method as claimed in claim 12, whereinsaid function is a request to obtain e-mail address informationcorresponding to said control number.
 15. The method as claimed in claim12, wherein said function is a request to obtain sender authenticationinformation corresponding to said control number.
 16. The method asclaimed in claim 12, wherein said function is a request to userrestriction information corresponding to said control number.
 17. Themethod as claimed in claim 12, wherein said function is a request toobtain e-mail group information corresponding to said control number.18. The method as claimed in claim 6, wherein said function is a requestto obtain distribution address information corresponding to a searchcondition.
 19. An information processing apparatus, comprising: aplurality of information storage units storing user information; and auser information controlling unit that, in response to a request from aprocess of an application program, obtains said user information fromsaid information storage units and provides the, obtained userinformation to said process of said application program.
 20. Theinformation processing apparatus as claimed in claim 19, wherein saiduser information controlling unit identifies one of said informationstorage units in which the requested user information is stored andobtains the requested user information from the identified one of saidinformation storage units.
 21. The information processing apparatus asclaimed in claim 19, wherein said user information controlling unit is aprocess of a user information controlling service.
 22. The informationprocessing apparatus as claimed in claim 19, wherein said userinformation includes distribution address information and userrestriction/charge information.
 23. The information processing apparatusas claimed in claim 22, wherein said information storage unit furthercomprises: a distribution address information storage unit storingtherein said distribution address information included in said userinformation; and a user restriction/charge information storage thereinunit storing said user restriction/charge information included in saiduser information.
 24. The information processing apparatus as claimed inclaim 19, wherein said process of said application program requests saiduser information controlling unit to obtain said user information usinga predefined function.
 25. The information processing apparatus asclaimed in claim 24, wherein said function is a request to obtainconfiguration information of said user information controlling unit. 26.The information processing apparatus as claimed in claim 24, whereinsaid function is a request to inform, when said user information isupdated, said process of the update.
 27. The information processingapparatus as claimed in claim 24, wherein said function is a request toobtain tags that categorizes said distribution address information intopredetermined categories.
 28. The information processing apparatus asclaimed in claim 27, wherein said function is a request to obtain itemsof said distribution address information categorized in one of saidtags.
 29. The information processing apparatus as claimed in claim 27,wherein said function is a request to obtain a position of an item ofsaid distribution address information in one of said tags.
 30. Theinformation processing apparatus as claimed in claim 24, wherein saidfunction is a request to obtain a control number of an item of saiddistribution address information of which index number is input by auser.
 31. The information processing apparatus as claimed in claim 30,wherein said function is a request to obtain a tag to which an item ofsaid distribution address information corresponding to said controlnumber.
 32. The information processing apparatus as claimed in claim 30,wherein said function is a request to obtain e-mail address informationcorresponding to said control number.
 33. The information processingapparatus as claimed in claim 30, wherein said function is a request toobtain sender authentication information corresponding to said controlnumber.
 34. The information processing apparatus as claimed in claim 30,wherein said function is a request to user restriction informationcorresponding to said control number.
 35. The information processingapparatus as claimed in claim 30, wherein said function is a request toobtain e-mail group information corresponding to said control number.36. The information processing apparatus as claimed in claim 24, whereinsaid function is a request to obtain distribution address informationcorresponding to a search condition.
 37. The information processingapparatus as claimed in claim 19, further comprising: a controlling unitthat controls hardware resources to be used for information processing;and an operating system.
 38. A method of controlling user informationfor an information processing apparatus, comprising the steps of: asystem initialization module requesting a user information controllingunit to update user information; and said user information controllingunit updating, in response to the request from said systeminitialization module, said user information.
 39. The method as claimedin claim 38, wherein said user information controlling unit identifiesone of information storage units in which the requested user informationis stored and updates the requested user information stored in theidentified one of said information storage units.
 40. The method asclaimed in claim 38, wherein said user information includes distributionaddress information and user restriction/charge information.
 41. Themethod as claimed in claim 40, wherein said information storage unitincludes a distribution address information storage unit storing saiddistribution address information therein and a user restriction/chargeinformation storage unit storing said user restriction/chargeinformation therein.
 42. The method as claimed in claim 38, wherein saidsystem initialization module uses a predefined function to request saiduser information controlling unit to update said user information. 43.The method as claimed in claim 42, wherein said function is a request toupdate tags that categorizes said distribution address information intopredetermined categories.
 44. The method as claimed in claim 43, whereinsaid function changes a display position of an item of said distributionaddress information categorized in said tag.
 45. The method as claimedin claim 42, wherein said function crates a new item of saiddistribution address information.
 46. The method as claimed in claim 42,wherein said function updates an item of said distribution addressinformation.
 47. The method as claimed in claim 42, wherein saidfunction deletes an item of said distribution address information. 48.The method as claimed in claim 42, wherein said function sets an e-mailgroup to which an item of said distribution address information iscategorized.
 49. The method as claimed in claim 42, wherein saidfunction obtains an e-mail group to which an item of said distributionaddress is categorized.
 50. The method as claimed in claim 42, whereinsaid function sets a tag to which an item of said distribution addressesinformation is categorized.
 51. The method as claimed in claim 42,wherein said function sets an e-mail address corresponding to an item ofsaid distribution address information.
 52. The method as claimed inclaim 42, wherein said function sets a sender authentication informationcorresponding to an item of said distribution address information. 53.The method as claimed in claim 42, wherein said functions sets userrestriction information corresponding to said distribution addressinformation.
 54. The method as claimed in claim 42, wherein saidfunction determines whether an index number input by a user is alreadyused, and if said index number is already used, obtains another indexnumber that is close to said index number input by said user.
 55. Themethod as claimed in claim 42, wherein said function obtains a number ofentries of said distribution address information.
 56. The method asclaimed in claim 42, wherein said function obtains a number of accountscorresponding to said distribution address information.
 57. The methodas claimed in claim 42, wherein said function obtains a number ofentries of an e-mail group corresponding to said distribution addressinformation.
 58. The method as claimed in claim 42, wherein saidfunction obtains a number of entries of e-mail addresses correspondingto said distribution address information.
 59. The method as claimed inclaim 42, wherein said function obtains a number of entries of userrestriction information corresponding to said distribution addressinformation.
 60. An information processing apparatus, comprising: aplurality of information storage units storing user information therein;and a user information controlling unit that updates, in response to arequest from a system initialization module, said user informationstored in said information storage unit.
 61. The information processingapparatus as claimed in claim 60, wherein said user informationcontrolling unit identifies one of information storage units in whichthe requested user information is stored and updates the requested userinformation stored in the identified one of said information storageunits.
 62. The information processing apparatus as claimed in claim 60,wherein said user information controlling unit is a process of a userinformation controlling service.
 63. The information processingapparatus as claimed in claim 60, wherein said user information includesdistribution address information and user restriction/chargeinformation.
 64. The information processing apparatus as claimed inclaim 63, wherein said information storage units include a distributionaddress information storage unit storing said distribution addressinformation therein and a user restriction/charge information storageunit storing said user restriction/charge information therein.
 65. Theinformation processing apparatus as claimed in claim 60, wherein saidsystem initialization module uses a predefined function to request saiduser information controlling unit to update said user information. 66.The information processing apparatus as claimed in claim 65, whereinsaid function is a request to update tags that categorizes saiddistribution address information into predetermined categories.
 67. Theinformation processing apparatus as claimed in claim 65, wherein saidfunction changes a display position of an-item-of said distributionaddress information categorized in said tag.
 68. The informationprocessing apparatus as claimed in claim 65, wherein said functioncrates a new item of said distribution address information.
 69. Theinformation processing apparatus as claimed in claim 65, wherein saidfunction updates an item of said distribution address information. 70.The information processing apparatus as claimed in claim 65, whereinsaid function deletes an item of said distribution address information.71. The information processing apparatus as claimed in claim 65, whereinsaid function sets an email group to which an item of said distributionaddress information is categorized.
 72. The information processingapparatus as claimed in claim 65, wherein said function obtains ane-mail group to which an item of said distribution address iscategorized.
 73. The information processing apparatus as claimed inclaim 65, wherein said function sets a tag to which an item of saiddistribution addresses information is categorized.
 74. The informationprocessing apparatus as claimed in claim 65, wherein said function setsan email address corresponding to an item of said distribution addressinformation.
 75. The information processing apparatus as claimed inclaim 65, wherein said function sets a sender authentication informationcorresponding to an item of said distribution address information. 76.The information processing apparatus as claimed in claim 65, whereinsaid functions sets user restriction information corresponding to saiddistribution address information.
 77. The information processingapparatus as claimed in claim 65, wherein said function determineswhether an index number input by a user is already used, and if saidindex number is already used, obtains another index number that is closeto said index number input by said user.
 78. The information processingapparatus as claimed in claim 65, wherein said function obtains a numberof entries of said distribution address information.
 79. The informationprocessing apparatus as claimed in claim 65, wherein said functionobtains a number of accounts corresponding to said distribution addressinformation.
 80. The information processing apparatus as claimed inclaim 65, wherein said function obtains a number of entries of an e-mailgroup corresponding to said distribution address information.
 81. Theinformation processing-apparatus as claimed in claim 65, wherein saidfunction obtains a number of entries of e-mail addresses correspondingto said distribution address information.
 82. The information processingapparatus as claimed in claim 65, wherein said function obtains a numberof entries of user restriction information corresponding to saiddistribution address information.
 83. The information processingapparatus as claimed in claim 60, further comprising: a control unitthat controls hardware resources used for information processing; and anoperating system.
 84. A method of controlling user information for aninformation processing apparatus, comprising the steps of: a userinformation control unit receiving a request in connection with userinformation from an external control apparatus connected to saidinformation processing apparatus via a network; and said userinformation control unit processing said request using predefinedfunctions.
 85. The method claimed in claim 84, wherein a remoteinterface unit provided in said user information controlling unitreceives said request from said external control apparatus using aprescribed protocol for exchanging messages-expressed in a descriptionlanguage.
 86. The method as claimed in claim 85, wherein said protocolis simple object access protocol.
 87. The method as claimed in claim 84,wherein said user information includes distribution address informationand user restriction/charge information.
 88. The method as claimed inclaim 87, wherein said information processing apparatus includesan-information storage unit comprising a distribution addressinformation storage unit storing said distribution address informationtherein and a user restriction/charge-information storage unit storingsaid user restriction/charge information therein.
 89. The method asclaimed in claim 84, wherein said remote interface unit provided in saiduser information control unit uses a predefined function to handle saiduser information in compliance with said request from said externalcontrol apparatus.
 90. The method as claimed in claim 89, wherein saidremote interface unit provided in said user information control unituses a predefined function to handle said user information in compliancewith said request.
 91. The method as claimed in claim 89, wherein saidfunction requests for a user authentication to operate said externalcontrol apparatus.
 92. The method as claimed in claim 89, wherein saidfunction obtains a generation number of said user information.
 93. Themethod as claimed in claim 89, wherein said function obtains said userinformation stored in an information storage unit.
 94. The method asclaimed in claim 89, wherein said function obtains an item of said userinformation satisfies a predetermined condition.
 95. The method asclaimed in claim 89, wherein said function updates said user informationstored in an information storage unit.
 96. The method as claimedin-claim 91, wherein, when a user operating said external controlapparatus is successfully authenticated, the authentication informationis transmitted to said external control apparatus; and saidauthentication information is attached to messages provided from saidexternal control apparatus to said information processing apparatus. 97.The method as claimed in claim 92, wherein said generation number, inresponse to a request from said external control apparatus, istransmitted thereto; and said generation number is attached to messagesprovided by said external control apparatus.
 98. An informationprocessing apparatus, comprising: a plurality of information storageunits storing user information therein; and a user information controlunit that receives a request in connection with said user informationstored in the information storage units from an external controlapparatus through a network and handles said user information using apredefined function corresponding to said request.
 99. The informationprocessing apparatus as claimed in claim 99, wherein said userinformation control unit further comprises a remote interface unit thatreceives said request from said external control apparatus using aprescribed protocol for exchanging messages expressed in a descriptionlanguage.
 100. The information processing apparatus as claimed in claim99, wherein said protocol is simple object access protocol.
 101. Theinformation processing apparatus as claimed in claim 98, wherein saiduser information includes distribution address information and userrestriction/charge information.
 102. The information processingapparatus as claimed in claim 101, wherein said information storageunits include a distribution address information storage unit storingsaid distribution address information therein and a userrestriction/charge information storage unit storing said userrestriction/charge information therein.
 103. The information processingapparatus as claimed in claim 98, wherein said user information controlunit further comprises a remote interface unit that handles said userinformation in compliance with said request using a predefined function.104. The information processing apparatus as claimed in claim 103,wherein said function obtains functional information of said userinformation control unit.
 105. The information processing apparatus asclaimed in claim 103, wherein said function request authentication of auser operating said external control apparatus.
 106. The informationprocessing apparatus as claimed in claim 103, wherein said functionobtains a generation number of said user information.
 107. Theinformation processing apparatus as claimed in claim 103, wherein saidfunction obtains said user information stored in an information storageunit.
 108. The information processing apparatus as claimed in claim 103,wherein said function obtains an item of said user information satisfiesa predetermined condition.
 109. The information-processing apparatus asclaimed in claim 103, wherein said function updates said userinformation stored in an information storage unit.
 110. The informationprocessing apparatus as claimed in claim 105, wherein, when a useroperating said external control apparatus is successfully authenticated,the authentication information is transmitted to said external controlapparatus; and said authentication information is attached to messagesprovided from said external control apparatus to said informationprocessing apparatus.
 111. The information processing apparatus asclaimed in claim 106, wherein said generation number, in response to arequest from said external control apparatus, is transmitted thereto;and said generation number is attached to messages provided by saidexternal control apparatus.
 112. The information processing apparatus asclaimed in claim 98, further comprising: a control unit that controlshardware resources used for information processing; and an operatingsystem.
 113. A computer program that causes a computer to control userinformation, comprising the steps of: requesting an informationprocessing apparatus connected via a network to transmit said userinformation using a predetermined protocol for exchanging messagesexpressed in a description language; receiving said user informationfrom said information processing apparatus in compliance with saidprotocol; displaying a screen based on the received user information;and requesting, in response to a request to update said user informationinput by a user, said information processing apparatus to update saiduser information using said protocol.
 114. A computer readable recordingmedium storing therein a computer program that causes a computer tocontrol user information, said computer program comprising the steps of:requesting an information processing apparatus connected via a networkto transmit said user information using a predetermined protocol forexchanging messages expressed in a description language; receiving saiduser information from said information processing apparatus incompliance with said protocol; displaying a screen based on the receiveduser information; and requesting, in response to a request to updatesaid user information input by a user, said information processingapparatus to update said user information using said protocol.
 115. Amethod of controlling user information for an image forming apparatus,comprising the steps of: a process of an application program requestingan user information controlling unit to obtain an item of said userinformation; and said user information controlling unit providing theobtained item of said user information to said process.
 116. The methodas claimed in claim 115, wherein said user information controlling unit,in response to the request from said process, obtains said item of saiduser information from information storage units.
 117. The method asclaimed in claim 116, wherein said user information controlling unitidentifies one of said information storage units, and obtains said itemof said user information from the identified one of information storageunits.
 118. The method as claimed in claim 115, wherein said userinformation includes distribution address information and userrestriction/charge information.
 119. The method as claimed in claim 118,wherein said information storage units include a distribution addressinformation storage unit storing said distribution address informationtherein and a user restriction/charge information storage unit storingsaid user restriction/charge information therein.
 120. The method asclaimed in claim 115, wherein, using a predefined function, said processrequests said user information controlling unit to obtain said item ofsaid user information.
 121. The method as claimed in claim 120, whereinsaid function is a request to obtain configuration information of saiduser information controlling unit.
 122. The method as claimed in claim120, wherein said function is a request to inform, when said userinformation is updated, said process of the update.
 123. The method asclaimed in claim 120, wherein said function is a request to obtain tagsthat categorizes said distribution address information intopredetermined categories.
 124. The method as claimed in claim 123,wherein said function is a request to obtain items of said distributionaddress information categorized in one of said tags.
 125. The method asclaimed in claim 123, wherein said function is a request to obtain aposition of an item of said distribution address information in one ofsaid tags.
 126. The method as claimed in claim 120, wherein saidfunction is a request to-obtain a control number of an item of saiddistribution address information of which index number is input by auser.
 127. The method as claimed in claim 126, wherein said function isa request to obtain a tag to which an item of said distribution addressinformation corresponding to said control number.
 128. The method asclaimed in claim 126, wherein said function is a request to obtaine-mail address information corresponding to said control number. 129.The method as claimed in claim 126, wherein said function is a requestto obtain sender authentication information corresponding to saidcontrol number.
 130. The method as claimed in claim 126, wherein saidfunction is a request to user restriction information corresponding tosaid control number.
 131. The method as claimed in claim 126, whereinsaid function is a request to obtain e-mail group informationcorresponding to said control number.
 132. The method as claimed inclaim 120, wherein said function is a request to obtain distributionaddress information corresponding to a search condition.
 133. An imageforming apparatus, comprising: a plurality of information storage unitsstoring user information; and a user information controlling unit that,in response to a request from a process of an application program,obtains said user information from said information storage units andprovides the obtained user information to said process of saidapplication program.
 134. The image forming apparatus as claimed inclaim 133, wherein said user information controlling unit identifies oneof said information storage units in which the requested userinformation is stored and obtains the requested user information fromthe identified one of said information storage units.
 135. The imageforming apparatus as claimed in claim 133, wherein said user informationcontrolling unit is a process of a user information controlling service.136. The image forming apparatus as claimed in claim 133, wherein saiduser information includes distribution address information and userrestriction/charge information.
 137. The image forming apparatus asclaimed in claim 136, wherein said information storage unit furthercomprises: a distribution address information storage unit storingtherein said distribution address information included in said userinformation; and a user restriction/charge information storage thereinunit storing said user restriction/charge information included in saiduser information.
 138. The image forming apparatus as claimed in claim133, wherein said process of said application program requests said userinformation controlling unit to obtain said user information using apredefined function.
 139. The image forming apparatus as claimed inclaim 138, wherein said function is a request to obtain configurationinformation of said user information controlling unit.
 140. The imageforming apparatus as claimed in claim 138, wherein said function is arequest to inform, when said user information is updated, said processof the update.
 141. The image forming apparatus as claimed in claim 138,wherein said function is a request to obtain tags that categorizes saiddistribution address information into predetermined categories.
 142. Theimage forming apparatus as claimed in claim 141, wherein said functionis a request to obtain items of said distribution address informationcategorized in one of said tags.
 143. The image forming apparatus asclaimed in claim 141, wherein said function is a request to obtain aposition of an item of said distribution address information in one ofsaid tags.
 144. The image forming apparatus as claimed in claim 138,wherein said function is a request to obtain a control number of an itemof said distribution address information of which index number is inputby a user.
 145. The image forming apparatus as claimed in claim 144,wherein said function is a request to obtain a tag to which an item ofsaid distribution address information corresponding to said controlnumber.
 146. The image forming apparatus as claimed in claim 144,wherein said function is a request to obtain e-mail address informationcorresponding to said control number.
 147. The image forming apparatusas claimed in claim 144, wherein said function is a request to obtainsender authentication information corresponding to said control number.148. The image forming apparatus as claimed in claim 144, wherein saidfunction is a request to user restriction information corresponding tosaid control number.
 149. The image forming apparatus as claimed inclaim 144, wherein said function is a request to obtain e-mail groupinformation corresponding to said control number.
 150. The image formingapparatus as claimed in claim 138, wherein said function is a request toobtain distribution address information corresponding to a searchcondition.
 151. The image forming apparatus as claimed in claim 133,further comprising: a controlling unit that controls hardware resourcesto be used for image forming; and an operating system.
 152. A method ofcontrolling user information for an image forming apparatus, comprisingthe steps of: a system initialization module requesting a userinformation controlling unit to update user information; and said userinformation controlling unit updating, in response to the request fromsaid system initialization module, said user information.
 153. Themethod as claimed in claim 152, wherein said user informationcontrolling unit identifies one of information storage units in whichthe requested user information is stored and updates the requested userinformation stored in the identified one of said information storageunits.
 154. The method as claimed in claim 152, wherein said userinformation includes distribution address information and userrestriction/charge information.
 155. The method as claimed in claim 154,wherein said information storage unit includes a distribution addressinformation storage unit storing said distribution address informationtherein and a user restriction/charge information storage unit storingsaid user restriction/charge information therein.
 156. The method asclaimed in claim 152, wherein said system initialization module uses apredefined function to request said user information controlling unit toupdate said user information.
 157. The method as claimed in claim 156,wherein said function is a request to update tags that categorizes saiddistribution address information into predetermined categories.
 158. Themethod as claimed in claim 157, wherein said function changes a displayposition of an item of said distribution address information categorizedin said tag.
 159. The method as claimed in claim 156, wherein saidfunction crates a new item of said distribution address information.160. The method as claimed in claim 156, wherein said function updatesan item of said distribution address information.
 161. The method asclaimed in claim 156, wherein said function deletes an item of saiddistribution address information.
 162. The method as claimed in claim156, wherein said function sets an e-mail group to which an item of saiddistribution address information is categorized.
 163. The method asclaimed in claim 156, wherein said function obtains an e-mail group towhich an item of said distribution address is categorized.
 164. Themethod as claimed in claim 156, wherein said function sets a tag towhich an item of said distribution addresses information is categorized.165. The method as claimed in claim 156, wherein said function sets ane-mail address corresponding to an item of said distribution addressinformation.
 166. The method as claimed in claim 156, wherein saidfunction sets a sender authentication information corresponding to anitem of said distribution address information.
 167. The method asclaimed in claim 156, wherein said functions sets user restrictioninformation corresponding to said distribution address information. 168.The method as claimed in claim 156, wherein said function determineswhether an index number input by a user is already used, and if saidindex number is already used, obtains another index number that is closeto said index number input by said user.
 169. The method as claimed inclaim 156, wherein said function obtains a number of entries of saiddistribution address information.
 170. The method as claimed in claim156, wherein said function obtains a number of accounts corresponding tosaid distribution address information.
 171. The method as claimed inclaim 156, wherein said function obtains a number of entries of ane-mail group corresponding to said distribution address information.172. The method as claimed in claim 156, wherein said function obtains anumber of entries of e-mail addresses corresponding to said distributionaddress information.
 173. The method as claimed in claim 156, whereinsaid function obtains a number of entries of user restrictioninformation corresponding to said distribution address information. 174.An image forming apparatus, comprising: a plurality of informationstorage units storing user information therein; and a user informationcontrolling unit that updates, in response to a request from a systeminitialization module, said user information stored in said informationstorage unit.
 175. The image forming apparatus as claimed in claim 174,wherein said user information controlling unit identifies oneof-information storage units in which the requested user information isstored and updates the requested user information stored in theidentified one of said information storage units.
 176. The image formingapparatus as claimed in claim 174, wherein said user informationcontrolling unit is a process of a user information controlling service.177. The image forming apparatus as claimed in claim 174, wherein saiduser information includes distribution address information and userrestriction/charge information.
 178. The image forming apparatus asclaimed in claim 177, wherein said information storage units include adistribution address information storage unit storing said distributionaddress information therein and a user restriction/charge informationstorage unit storing said user restriction/charge information therein.179. The image forming apparatus as claimed in claim 174, wherein saidsystem initialization module uses a predefined function to request saiduser information controlling unit to update said user information. 180.The image forming apparatus as claimed in claim 179, wherein saidfunction is a request to update tags that categorizes said distributionaddress information into predetermined categories.
 181. The imageforming apparatus as claimed in claim 179, wherein said function changesa display position of an item of said distribution address informationcategorized in said tag.
 182. The image forming apparatus as claimed inclaim 179, wherein said function crates a new item of said distributionaddress information.
 183. The image forming apparatus as claimed inclaim 179, wherein said function updates an item of said distributionaddress information.
 184. The image forming apparatus as claimed inclaim 179, wherein said function deletes an item of said distributionaddress information.
 185. The image forming-apparatus as claimed inclaim 179, wherein said function sets an e-mail group to which an itemof said distribution address information is categorized.
 186. The imageforming apparatus as claimed in claim 179, wherein said function obtainsan e-mail group to which an item of said distribution address iscategorized.
 187. The image forming apparatus as claimed in claim 179,wherein said function sets a tag to which an item of said distributionaddresses information is categorized.
 188. The image forming apparatusas claimed in claim 179, wherein said function sets an e-mail addresscorresponding to an item of said distribution address information. 189.The image forming apparatus as claimed in claim 179, wherein saidfunction sets a sender authentication information corresponding to anitem of said distribution address information.
 190. The image formingapparatus as claimed in claim 179, wherein said functions sets userrestriction information corresponding to said distribution addressinformation.
 191. The image forming apparatus as claimed in claim 179,wherein said function determines whether an index number input by a useris already used, and if said index number is already used, obtainsanother index number that is close to said index number input by saiduser.
 192. The image forming apparatus as claimed in claim 179, whereinsaid function obtains a number of entries of said distribution addressinformation.
 193. The image forming apparatus as claimed in claim 179,wherein said function obtains a number of accounts corresponding to saiddistribution address information.
 194. The image forming apparatus asclaimed in claim 179, wherein said function obtains a number of entriesof an e-mail group corresponding to said distribution addressinformation.
 195. The image forming apparatus as claimed in claim 179,wherein said function obtains a number of entries of e-mail addressescorresponding to said distribution address information.
 196. The imageforming apparatus as claimed in claim 179, wherein said function obtainsa number of entries of user restriction information corresponding tosaid distribution address information.
 197. The image forming apparatusas claimed in claim 174, further comprising: a control unit thatcontrols hardware resources used for image forming; and an operatingsystem.
 198. A method of controlling user information for an imageforming apparatus, comprising the steps of: a user information controlunit receiving a request in connection with user information from anexternal control apparatus connected to said image forming apparatus viaa network; and said user information control unit processing saidrequest using predefined functions.
 199. The method claimed in claim198, wherein a remote interface unit provided in said user informationcontrolling unit receives said request from said external controlapparatus using a prescribed protocol for exchanging messages expressedin a description language.
 200. The method as claimed in claim 199,wherein said protocol is simple object access protocol.
 201. The methodas claimed in claim 198, wherein said user information includesdistribution address information and user restriction/chargeinformation.
 202. The method as claimed in claim 201, wherein said imageforming apparatus includes an information storage unit comprising adistribution address information storage unit storing said distributionaddress information therein and a user restriction/charge informationstorage unit storing said user restriction/charge information therein.203. The method as claimed in claim 198, wherein said remote interfaceunit provided in said user information control unit uses a predefinedfunction to handle said user information in compliance with said requestfrom said external control apparatus.
 204. The method as claimed inclaim 203, wherein said remote interface unit provided in said userinformation control unit uses a predefined function to handle said userinformation in compliance with said request.
 205. The method as claimedin claim 203, wherein said function requests for a user authenticationto operate said external control apparatus.
 206. The method as claimedin claim 203, wherein said function obtains a generation number of saiduser information.
 207. The method as claimed in claim 203, wherein saidfunction obtains said user information stored in an information storageunit.
 208. The method as claimed in claim 203, wherein said functionobtains an item of said user information satisfies a predeterminedcondition.
 209. The method as claimed in claim 203, wherein saidfunction updates said user information stored in an information storageunit.
 210. The method as claimed in claim 205, wherein, when a useroperating said external control apparatus is successfully authenticated,the authentication information is transmitted to said external controlapparatus; and said authentication information is attached to messagesprovided from said external control apparatus to said image formingapparatus.
 211. The method as claimed in claim 206, wherein saidgeneration number, in response to a request from said external controlapparatus, is transmitted thereto; and said generation number isattached to messages provided by said external control apparatus. 212.An image forming apparatus, comprising: a plurality of informationstorage units storing user information therein; and a user informationcontrol unit that receives a request in connection with said userinformation stored in the information storage units from an externalcontrol apparatus through a network and handles said user informationusing a predefined function corresponding to said request.
 213. Theimage forming apparatus as claimed in claim 213, wherein said userinformation control unit further comprises a remote interface unit thatreceives said request from said external control apparatus using aprescribed protocol for exchanging messages expressed in a descriptionlanguage.
 214. The image forming apparatus as claimed in claim 213,wherein said protocol is simple object access protocol.
 215. The imageforming apparatus as claimed in claim 212, wherein said user informationincludes distribution address information and user restriction/chargeinformation.
 216. The image forming apparatus as claimed in claim 215,wherein said information storage units include a distribution addressinformation storage unit storing said distribution address informationtherein and a user restriction/charge information storage unit storingsaid user restriction/charge information therein.
 217. The image formingapparatus as claimed in claim 212, wherein said user information controlunit further comprises a remote interface unit that handles said userinformation in compliance with said request using a predefined function.218. The image forming apparatus as claimed in claim 217, wherein saidfunction obtains functional information of said user information controlunit.
 219. The image forming apparatus as claimed in claim 217, whereinsaid function request authentication of a user operating said externalcontrol apparatus.
 220. The image forming apparatus as claimed in claim217, wherein said function obtains a generation number of said userinformation.
 221. The image forming apparatus as claimed in claim 217,wherein said function obtains said user information stored in aninformation storage unit.
 222. The image forming apparatus as claimed inclaim 217, wherein said function obtains an item of said userinformation satisfies a predetermined condition.
 223. The image formingapparatus as claimed in claim 217, wherein said function updates saiduser information stored in an information storage unit.
 224. The imageforming apparatus as claimed in claim 219, wherein, when a useroperating said external control apparatus is successfully authenticated,the authentication information is transmitted to said external controlapparatus; and said authentication information is attached to messagesprovided from said external control apparatus to said image formingapparatus.
 225. The image forming apparatus as claimed in claim 220,wherein said generation number, in response to a request from saidexternal control apparatus, is transmitted thereto; and said generationnumber is attached to messages provided by said external controlapparatus.
 226. The image forming apparatus as claimed in claim 212,further comprising: a control unit that controls hardware resources usedfor image forming; and an operating system.
 227. A computer program thatcauses a computer to control user information, comprising the steps of:requesting an image forming apparatus connected via a network totransmit said user information using a predetermined protocol forexchanging messages expressed in a description language; receiving saiduser information from said image forming apparatus in compliance withsaid protocol; displaying a screen based on the received userinformation; and requesting, in response to a request to update saiduser information input by a user, said image forming apparatus to updatesaid user information using said protocol.
 228. A computer readablerecording medium storing therein a computer program that causes acomputer to control user information, said computer program comprisingthe steps of: requesting an image forming apparatus connected via anetwork to transmit said user information using a predetermined protocolfor exchanging messages expressed in a description language; receivingsaid user information from said image forming apparatus in compliancewith said protocol; displaying a screen based on the received userinformation; and requesting, in response to a request to update saiduser information input by a user, said image forming apparatus to updatesaid user information using said protocol.